Программирование

Ответить в тред Ответить в тред
Check this out!
JS Thread #205 /js/ Аноним 15/03/21 Пнд 15:54:39 19674111
image 56Кб, 1050x1050
1050x1050
Предыдущий тред: >>1962747 (OP)
Больше пары строк кода в посте или на скриншоте ведут в ад.

Для программирования на HTML https://codesandbox.io
Для Node.js с консолькой https://repl.it/languages/nodejs

Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: «что я хочу получить, что я для этого делаю, что я вместо этого получаю». Если когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.

Документация - https://developer.mozilla.org
Руководство для вката - https://github.com/acilsd/wrk-fet#javascript
Старая паста, частично устарела - https://pastebin.com/9yRADC0s
Аноним 15/03/21 Пнд 15:57:30 19674162
158973627239370.mp4 3164Кб, 1920x1080, 00:00:15
1920x1080
Пацаны, как въехать в асинхронность? Хули так сложно блять? Дайте советов что ли кто как въеал в эту тему
Аноним 15/03/21 Пнд 16:26:45 19674343
>>1967411 (OP)
В жс очень хреновый дизайн у функциональщины. Лучше for лишний раз написать.
Аноним 15/03/21 Пнд 16:33:10 19674434
Господа сеньоры огласите топ стек на 2021
Аноним 15/03/21 Пнд 16:35:17 19674465
>>1967416
Выбирай глубину кроличей норы. Observable? Асинк? Промис? Коллбэк?
Аноним 15/03/21 Пнд 16:36:09 19674476
Аноним 15/03/21 Пнд 16:37:52 19674507
>>1967416
>асинхронность
Хули тут понимать, язык выполняет только одну строчку кода в стеке вызовов, если он видит асинхронную ебалу, он отправляет эту ебалу выполняться в web api если это браузер, далее эта хуета ждет своей очереди в очереди,лол, далее как только стек вызовов очишается event loop запихивает твой промис в стэк
Аноним 15/03/21 Пнд 16:43:14 19674528
Аноним 15/03/21 Пнд 16:43:34 19674539
>>1967450
Вот так примерно и обучают сейчас во всех сферах.
Аноним 15/03/21 Пнд 16:47:49 196745410
>>1967453
Если пчел нихуя не понимает как еще быть?
Аноним 15/03/21 Пнд 16:49:27 196745611
>>1967454
Ты его ещё больше запутаешь.
Аноним 15/03/21 Пнд 16:49:33 196745712
>>1967453
>обучают
Нахуй его кому то учить? Всякие минины своей целью ставят не обучить а заработать на кабанчиках.
Аноним 15/03/21 Пнд 16:50:18 196746013
Аноним 15/03/21 Пнд 16:51:04 196746414
>>1967456
Да нет это заставит его загуглить хотя бы что такое стэк вызовов, эвент луп, вряд ли ру ютуберы ему об этом рассказали
Аноним 15/03/21 Пнд 16:52:29 196746815
Стоит ли в graphql разбивать резолверы схемы и типы на разные файлы?
Аноним 15/03/21 Пнд 16:54:11 196747416
>>1967464
>заставит
не заставит.
Аноним 15/03/21 Пнд 17:05:24 196748617
image 72Кб, 258x378
258x378
Аноним 15/03/21 Пнд 17:10:23 196748818
image 876Кб, 1668x2224
1668x2224
>>1967486
Вот еще пояснения набрасал, пока читал.
Аноним 15/03/21 Пнд 18:09:49 196755319
Есть ли гайды по проектированию тестов с нуля?
Ну типа сижу я смотрю на тыщу компонентов и сотню сервисов, и куда тут воевать?
Начать ебашить юниты на каждый пук, и интеграционные на каждую пару пуков - будешь писать их дольше чем сам проект.
Или наоборот начать со здоровых е2е - а они пропускать все будут.
Аноним 15/03/21 Пнд 18:24:13 196757020
Ну прошёл я этого вашего Кантора. Что делать дальше? Уже можно учить реакт? Нужен ли тайпскрипт?
Аноним 15/03/21 Пнд 18:26:52 196757621
>>1967570
Вы к кому обращаетесь, млад человек?
Аноним 15/03/21 Пнд 18:29:56 196758122
Норм что у меня класс (ксс) записан в стейте и на mouseEnter вызывается функция, которая изменяет этот класс? Например, чтобы один из дочерних элементов изменил цвет, я на mouseEnter по родителю вызываю функцию которая изменяет переменную в className. Или хуйня получилась?
Аноним 15/03/21 Пнд 18:30:55 196758223
>>1967570
Теперь SICP читай, от корки до корки, прочтешь приходи
Аноним 15/03/21 Пнд 18:31:37 196758424
Аноним 15/03/21 Пнд 18:32:17 196758625
>>1967582
Забыл добавить, что читать нужно исключительно на английском языке.
Аноним 15/03/21 Пнд 18:34:04 196758926
>>1967584
Во что? Если бы я знал, я бы наверное не спрашивал.
Аноним 15/03/21 Пнд 18:36:11 196759227
>>1967589
Может мне ещё твою девушку вместо тебя выебать?
Переделай сам.
Аноним 15/03/21 Пнд 18:38:49 196759728
>>1967592
Да во что нахуй? Я ебу что ли? Я нашел решение, оно работает, мне кажется хорошим. Спрашиваю, потому что интересно так делается или нет, и если не делается, то что делается вместо этого и как белые люди динамически изменяют класс.
Аноним 15/03/21 Пнд 18:41:17 196759929
>>1967597
>>1967582
> Теперь SICP читай, от корки до корки, прочтешь приходи
Аноним 15/03/21 Пнд 18:42:56 196760030
>>1967582
Точно, совсем затупил придя к местному скаму с вопросом. Спасибо, что напомнил кто здесь обитает.
Аноним 15/03/21 Пнд 18:45:00 196760431
Аноним 15/03/21 Пнд 18:45:08 196760532
>>1967599
Да охуенно, может мне еще ядерной физикой заняться? Иначе как я смогу сайты разрабатывать, точно не зная куда там по кремнию электроны летают.
Аноним 15/03/21 Пнд 18:48:11 196760933
>>1967605
Глупости не пиши тут. Ленишься - так и скажи.
Аноним 15/03/21 Пнд 18:52:09 196761234
>>1967581
Если не прикручивать болтами фреймворки - вполне норм. Хули там еще придумать-то можно?
Аноним 15/03/21 Пнд 18:53:36 196761435
>>1967612
>Если не прикручивать болтами фреймворки
Что под этим имеется ввиду?
Аноним 15/03/21 Пнд 18:55:27 196761536
1715971.jpg 25Кб, 240x320
240x320
>>1967416
Когда тебя ебут в жопу, ты мождешь надрачивать одной рукой хуй а другой мацать ебаря за жопу. Вроде как действия выполняются "параллельно", однако на самом деле они выполняются "конкурентно" и это главное. Конкруентность может быть и асинхронной
Аноним 15/03/21 Пнд 18:57:11 196761837
Аноним 15/03/21 Пнд 18:57:27 196762038
>>1967614
>ввиду
в виду раздельно
Имеется в виду что вуй или реакт например позволяют привязать состояние элемента напрямую к переменной и этим (реактивностью) славны. Вроде. А к чему ты стейт помянул?
Аноним 15/03/21 Пнд 18:59:21 196762439
Гайз на вас последняя надежда. Функция ищет least common multiple (наименьшее общее кратное) в заданном ренже, можете расписать работу reduce, я пытаюсь проследить, но не получается, я что-то упускаю/ не понимаю.

https://repl.it/join/xirpxlmw-lolkaazhaha

function smallestCommons(arr) {
const [min, max] = arr.sort((a, b) => a - b);
const range = Array(max - min + 1)
.fill(0)
.map((_, i) => i + min);

const gcd = (a, b) => (b === 0) ? a : gcd(b, a % b);
const lcm = (a, b) => a * b / gcd(a, b);

return range.reduce((multiple, curr) => lcm(multiple, curr));
}
smallestCommons([1, 5]);
Аноним 15/03/21 Пнд 19:02:58 196762640
Аноним 15/03/21 Пнд 19:04:12 196762841
>>1967553
Теперь ты начинаешь понимать, почему на большинстве проектов забивают хуй на тестирование. TTD в контексте жабаскрипта - марксисм-ленинизм послегрузинского совка. Никто в него не верит и не практикует, но ты обязан повторять цитаты из него как мантры, чтобы на работу взяли.
Аноним 15/03/21 Пнд 19:04:34 196762942
>>1967624
Код выглядит как жуткая псевдофункциональная лапша, за которую на ревью открутили бы башку. Перепиши нормально.
Аноним 15/03/21 Пнд 19:07:20 196763243
>>1967581
Если хавер без бизнес-логики, то достаточно `:hover` использовать.
Аноним 15/03/21 Пнд 19:07:57 196763444
>>1967628
>TTD в контексте жабаскрипта - марксисм-ленинизм послегрузинского совка
Бля, какое хорошее сравнение.
Аноним 15/03/21 Пнд 19:13:29 196764245
>>1967628
Не согласен. Практикуют его все, но на выходе усилий слито больше чем профита.
Аноним 15/03/21 Пнд 19:15:25 196764646
Какое же БЭМ блять кривое говно, сразу видно его пердолики из яндекса придумали. Больше времени тратишь на то, как назвать элементный блок и его элементы, да ещё это говнище заставляет простыни селекторов писать даже в препроцессоре.
Аноним 15/03/21 Пнд 19:16:10 196764747
>>1967626
>>1967629
Это не я писал, я то через 2 цикла и счётчик сделал. Мне важно понять именно это решение, там через формулы типа
Аноним 15/03/21 Пнд 19:18:40 196765048
>>1967642
Пописывание тестов ≠ TTD.
Аноним 15/03/21 Пнд 19:20:54 196765549
>>1967647
А, тада ладно. Но код мне все равно не нравится, особенно редьюсом - он неинтутитивный какой-то, не люблю его.
Аноним 15/03/21 Пнд 19:29:31 196766650
>>1967650
Да TDD (два раза подряд, это уже не опечатка, сука) практикуют.
Просто потом тесты никто не поддерживает и в какой-то момент спустя пару лет внезапно обнаруживает что они нихуя не стартуют и проще их заигнорить или выкинуть.
Аноним 15/03/21 Пнд 19:32:17 196767051
a8f5c73a120719e[...].jpg 32Кб, 400x495
400x495
ЖС - ЯП для альфовых Альф. Согласны?
Аноним 15/03/21 Пнд 19:38:08 196768152
>>1967670
Или для них, или для забитых омежек, третьего не дано.
Аноним 15/03/21 Пнд 19:39:04 196768253
1.png 7Кб, 889x66
889x66
Блять, вот хуле ему не так?
Есть примитивный хэндлер клика, который проверяет, была ли нажата метаКей на маке и если была, то вызывает функцию.
const handleMcClick = (e: MouseEvent): void => {
if (e.metaKey) {
gayAlert();
} else return;
}

Все это назначается обработчиком в onClick.
Аноним 15/03/21 Пнд 19:45:50 196769154
>>1967666
>Да TDD (два раза подряд, это уже не опечатка, сука) практикуют.
Test Tried Development.
Аноним 15/03/21 Пнд 19:48:19 196769855
h.webm 358Кб, 640x480, 00:00:03
640x480
>>1967670
>>1967615
Этот тред для гетеросексуальных мальчиков!

Уважаемый петух, пожалуйте обратно к себе в петушатню
>>1961875 (OP)

Аноним 15/03/21 Пнд 20:02:17 196771556
>>1967646
Ты блядь откуда этот бэм выкапал? Он нахуй не нужен с styled components или tailwindcss, тем более если юзаешь среакт или вью
Аноним 15/03/21 Пнд 20:03:20 196771857
image.png 10Кб, 556x195
556x195
image.png 5Кб, 467x88
467x88
Так блэт, почему в первом случае контекст проебывается, в во втором нет?
Аноним 15/03/21 Пнд 20:06:09 196772258
>>1967698
А что за срач я пропустил? Второй тред подряд кого то в йажа-тред посылают.
Аноним 15/03/21 Пнд 20:09:13 196772759
>>1967715
Так просто хотел навернуть этот бэм.
Аноним 15/03/21 Пнд 20:11:35 196773460
>>1967718
Сэт таймаут запускается как функция а не метод
Аноним 15/03/21 Пнд 20:13:28 196773961
>>1967718
в первом случае глобальный контекст ссылки, во втором блочный
Аноним 15/03/21 Пнд 20:14:41 196774262
>>1967734
let func = user.sayHi;
func() // undefined

Тут как видишь никаких setTimeout
Аноним 15/03/21 Пнд 20:17:10 196774563
>>1967742
ты присваиваешь метод которого у тебя нет

у тебя есть функция с именем sayHi()

ее и надо передавать

>let func = user.sayHi();
Аноним 15/03/21 Пнд 20:17:43 196774864
>>1967742
Что бы не было андефайнд делай bind или вызывай через контсруктор
Аноним 15/03/21 Пнд 20:36:01 196776165
>>1967682
Бамп. Хуй что нагуглишь. Почему так?
Аноним 15/03/21 Пнд 20:41:21 196776566
>>1967761
гугли всплытие событий
Аноним 15/03/21 Пнд 20:48:05 196777067
>>1967765
>гугли всплытие событий
Это поможет мне правильно типизировать функцию?
Аноним 15/03/21 Пнд 21:04:15 196778768
Аноним 15/03/21 Пнд 21:05:52 196778969
Аноним 15/03/21 Пнд 21:10:32 196779370
>>1967789
Если я вообще убираю любое упоминание кнопок, то ничего не меняется. Проблема в обращение к ивенту как к таковому. Та же самая ошибка, если не проверяются кнопки клавиатуры, но есть, например: e.preventDefault()
Аноним 15/03/21 Пнд 21:24:45 196780271
>>1967793
Ты не в рякте случаем пытаешься навесить ивент?
Аноним 15/03/21 Пнд 21:36:55 196781672
>>1967666
Как ты модешь не поддерживать тесты при TDD, если при TDD они пишутся прежде любого кода?
Аноним 15/03/21 Пнд 21:40:37 196782373
>>1967416
На ноде/deno асинхронность нинужна. Всё равно все будут юзать зелёные треды на cpython, если такая необходимость будет.
В браузере вебворкеры, а не аснихронность, они тоже нинужны в основном, покрайнеймере не для тебя.
Аноним 15/03/21 Пнд 21:40:39 196782474
Буду скоро менять работку, оттрубил какое-то время фуллстек шлюхой, хочу апнуться до миддла. Вроде как в жс шарю, но сука очкую что меня выебут на хитровыебанных вопросах касательно токонстей работы интерпретатора жопаскрипта, ведь я уже не ждун. Насколько сильно ебут на этом деле?
Аноним 15/03/21 Пнд 21:44:55 196782675
Аноним 15/03/21 Пнд 21:50:42 196783276
>>1967826
Там нужно свой MouseEvent использовать. Типа React.MouseEvent.
Аноним 15/03/21 Пнд 22:12:41 196786277
>>1967824
Кажется блядь в JS вообще не существует нехитровыебанных вопросов. В любом говне десятки подводных, вплоть до того, что ты можешь обосраться на вопросе чем отличается let от var.

Сделал 2 коммерческих сайта с фуллстеком, работаю на 3-м. Всё еще не могу устроиться никуда на постоянку, потому что такое ощущение, что к тому моменту, когда я смогу ответить на все вопросы на собесе, я уже просто пойду проходить собесы на сеньера. У меня довольно много опыта, код который я писал проходит код ревью, но какой же пиздец начинается, когда открываешь доку жс и список из 300 вопросов на собеседовании, и понимаешь какое же количество разнообразного говна тебе еще нужно знать, несмотря на то, что в работе это гуглися просто за пару секунд и применяется примерно столько же. Я просто в ахуе с того, какое количество ебанутых корнеркейсов и подковырок нужно знать джуну. Я вообще не могу представить, каким образом это всё можно вот так вот просто взять и выучить. Кажется, как будто работать с ЖС и устроиться на работу это просто бесконечно далекие друг от друга задачи. Какой же пиздеж все эти разговоры про "программирование это просто", ты нахуй в петлю раньше полезешь, чем первый офер получишь. Но тут конечно есть плюс, количество инфоциган и вкатывальщиков кажется оказывает абсолютно нулевое воздействие на уровень зарплат именно по вышеописанной причине.
Аноним 15/03/21 Пнд 23:04:15 196790578
Писать function зашкварно?
Но стрелочные функции берут this из верхнего скоупа... Как тогда быть?
Аноним 15/03/21 Пнд 23:09:21 196790879
>>1967862
Шиз, у тебя синдром самозванца, лечится походами на собесы, пока не пройдешь хоть одно
Аноним 15/03/21 Пнд 23:17:56 196791480
Аноним 15/03/21 Пнд 23:18:43 196791581
>>1967862
В какое дно вы ходите вообще? Охуеть просто.
Аноним 15/03/21 Пнд 23:19:05 196791682
>>1967905
Нет, стрелочки писать зашквар.
Аноним 15/03/21 Пнд 23:30:17 196792383
>>1967905
Когда тебе нуден this, есть method function declaration.
Аноним 15/03/21 Пнд 23:31:00 196792584
>>1967862
Дай угадаю - ты не был ни на одном собесе по жс в своей жизни.
Аноним 15/03/21 Пнд 23:33:02 196792785
>>1967905
> this
Кстати тоже писать зашквар, потому что вероятнее всего будет хуевая очистка мусора (но это не точно) да и вообще чистота нарушается.
Аноним 15/03/21 Пнд 23:44:19 196794386
>>1967925
>>1967908
Был на 5 собесах. В последний раз это было примерно 4 месяца назад. С тех пор нашел себе фриланс и работаю теперь так, попутно вечерами задрачивая то, чего не знаю. Пока нет желания ходить на эти публичные сеансы унижения от рандомных хуёв. Но хотя бы теперь не совсем прожирая запасы от отложенных денег с прошлого места работы. Но на данный момент работаю по ставке 200р в час, хотя уверен на 100%, что это стоит конечно же куда больше, я бы рад работать за большее, но причину я уже описал постом выше. А согласен я на такое только потому, что в дальнейшем у меня есть перспектива роста, иначе бы уже грузчиком пошел работать, возможно за большие деньги, лол
Аноним 16/03/21 Втр 00:07:33 196795887
8EBB3685-895E-4[...].png 138Кб, 512x512
512x512
>>1967943
У тебя синдром самозванца, который ты оправдываешь внешними силами(кококнторы плохие, а я вот хороший!)
Конторам нахуй не нужны твои знания при строгом и нестрогом сравнении, это просто тесты на долбоебов, что бы отсеять немощных вкатунов и не тратить время на них.
Конторам нужно только одно - что бы ты мог приносить им бабки. Если у тебя прокачан скилл программирования и ты можешь быть полезен компании этим, тебя 100% возьмут на работу.
Так вот причина по которой ты еще не на галере - это ты сам. Либо пиздабол и нихуя не знаешь, либо долбоеб и не можешь пройти банальные тесты к которым можно подготовиться за два дня до собеса, либо ты ласкаешь свой синдром самозванца. Вылазий из зоны комфорта, если ты канешь не корзина мамкина как славик сычев.
Аноним 16/03/21 Втр 00:13:37 196796788
>>1967943
>Но на данный момент работаю по ставке 200р в час
В пересчёте на месячную зарплату это 30 т.р. в месяц.
Аноним 16/03/21 Втр 00:14:32 196796989
>>1967958
Ну хуй знает, чел пчел. Вот думаю закончить 3-й проект и уже пиздовать в галеры, а то стыдно без 300к сек кодить. С комфортом у меня проблем нет, учитывая то, из какого говна я постепенно выбираюсь.
Аноним 16/03/21 Втр 00:14:53 196797190
>>1967943
И что тебя спрашивали на этих собесах, что ты не смог ответить, учитывая то, что регулярно работаешь с языком?
Аноним 16/03/21 Втр 00:15:03 196797391
>>1967927
>Кстати тоже писать зашквар
А какие альтернативы?
Аноним 16/03/21 Втр 00:15:12 196797492
>>1967967
Спасибо канеш, исходный код этого решения покажешь? А то я все никак посчитать не мог.
Аноним 16/03/21 Втр 00:19:07 196797593
>>1967971
В последний раз это было 4 месяца назад, тогда не знал что такое замыкание, всплытие события и т.п. такого же рода вопросы. С тех пор конечно я это выучил, это конечно круто, что я теперь обо всём этом в подробностях знаю. Вот только пока не понял каким хуем это мне помогло проектировать интерфейсы и писать совсем простенький бек. Ну ладно ладно, чуть чуть помогло, но опять же, когда столкнулся с проблемой срабатывания клика по множеству элементов, все равно загуглилось за 0.12132423 секунды
Аноним 16/03/21 Втр 00:25:53 196797694
>>1967975
Чувак, если ты умудрился разрабатывать приложенияна жс, не зная, что такое замыкания и принципов распространения DOM- событий, то все эти "интерфейсы" тобой писанные, о которых ты говоришь - это неподдерживаемый говнокод, и тебя совершенно заслужено не взяли.

Это все равно, что строить деревянные дома, связывая бревна веревками, и потом говорить - но я же построил. Какие в пизду строительные крепежи, нахуй они нужны.
Аноним 16/03/21 Втр 00:40:40 196797895
>>1967976
Не согласен буквально с каждым твоим утверждением
Аноним 16/03/21 Втр 00:41:28 196797996
>>1967976
Да пиздит он как дышит, я эту суку сразу раскусил мужики. Давайте ему бучу устроим, и в петушиный угол определим.
Аноним 16/03/21 Втр 00:48:12 196798197
>>1967976
Что замыкания, что дом события выдадут свои очевидные ошибки при незнании того, как они работают сразу же, как только ты начнешь с этим работать. Так что можно и без знания о подобных вещах проектировать приложение. Или ты думаешь я код писал проверяя его только в проде на работающем сайте?
Аноним 16/03/21 Втр 00:53:27 196798398
>>1967628
>TTD в контексте жабаскрипта - марксисм-ленинизм послегрузинского совка.
проигрунькал
Аноним 16/03/21 Втр 00:54:21 196798599
>>1967979
И кстати говоря, это не я утверждал, что мне пора пиздовать на галеру, а говорил только о том, что учить нужно дохуя всего. Так что вы сейчас опровергаете собственные же представления на мой счет. А о том, что я сделал несколько рабочих сайтов на реакте и ноде я не пиздел.
И вот к примеру
>банальные тесты к которым можно подготовиться за два дня до собеса
это же очевидный пиздеж. Того, что нужно знать на собесе за 2 дня ты даже прочитать не успеешь, не то, что запомнить или понять.

Может быть вы устраивались на работу лет 5-10 назад, и у вас представление о требованиях берутся из того периода.
Аноним 16/03/21 Втр 00:56:06 1967988100
>>1967985
Нюхай носки падла дырявая, ты теперь чушкарь позорный, бери миску и пожалуй к пораше. Сиди там и смотри как галерные работяги отдыхают в треди.
Аноним 16/03/21 Втр 01:12:42 1967993101
>>1967958
Банальные? Сложение массива, строки, объекта и жирафа это не банальные. А поскольку на практике ты это не будешь делать никогда, то надо эту теорию дрочить не за два дня до собеса, а каждый день чтобы она не забывалась.
Аноним 16/03/21 Втр 01:13:36 1967995102
Я на полном серьезе готов спорить с вами о том, насколько нужно уметь кодить на JS при создании сайтов на реакте, поскольку я буквально фактически это делаю. Вам это может не нравится, вы можете быть против этого, но сам факт вы не отмените. Того, что я дохуя чего не знаю и не могу ответить на вопросы не собесе это не отменяет, о чем я с самого начала и говорил. Но одно другому вообще нихуя не мешает. Возможно именно из-за того, что вы тут опытные дядьки с большими писями вам кажется, что отсутствие глубокого понимания принциповы работы тех или инных вещей в коде равняются полному отсутсвтию понимания принципов работы этих вещей даже на каком-то очень поверхностном, абстрактном уровне, когда ты знаешь как с ними работать и когда использовать, то вы конечно ошибаетесь. Потому что буквально у вас есть неоспоримый факт, весь мой код проходил код ревью, и я буквально готов отстаивать это в споре с вами, какими бы хуями вы тут не пытались меня крыть, потому что вы не можете отменить этот факт.
Аноним 16/03/21 Втр 01:20:25 1968002103
>>1967993
Харош свои инцельные потуги в тред распылять, если у тебя айкью выше 100 это не проблема запомнить.
Если ты не забыл это вообще то программирование нахуй, не хочешь напрягать голову иди в пятерочку работать, там таким нытикам самое место.
Аноним 16/03/21 Втр 01:21:40 1968004104
>>1968002
Это другой чел, чел
Аноним 16/03/21 Втр 01:22:12 1968005105
Аноним 16/03/21 Втр 01:30:46 1968013106
Имеет смысл сначала хотя бы базово изучить какой-нибудь строгий язык с правилами написания и прочей ебалой, чтобы потом на жс меньше быдлокодить? Никакого языка не знаю, не знаю их устройства, вкатываюсь с нуля.
Аноним 16/03/21 Втр 02:03:17 1968026107
>>1968013
Для начала изучи ассебмлер i8080, чтобы понимать, как всё работает.
Аноним 16/03/21 Втр 02:03:58 1968027108
>>1967973
Больше функционального подхода и больше чистых функций. Никаких this и прочей хуйни. Настраивайся писать четкий код, потом привыкнешь, а всю this хуйню будешь в отдельные слои хуйни загонять, типо //////TODO: FIX OOP GOVNOKOD

представляю как борщехлёбы придут в тренд, а тут замыкания обсуждают
Аноним 16/03/21 Втр 02:04:40 1968028109
Аноним 16/03/21 Втр 02:13:01 1968033110
>>1968004
В пятерочке всем места хватит и тебе и ему, и тебе нахуй и тебе
тычет пальцами на вкатунов
Аноним 16/03/21 Втр 02:57:56 1968056111
>>1967570
Смотри курс React-самурай на ютубе. Там и TypeScript и все остальное.
Аноним 16/03/21 Втр 03:53:25 1968068112
>>1967976
>это неподдерживаемый говнокод
Бля, а как понять, что ты пишешь говнокод? У меня такая паранойя по этому поводу пиздец. Но в отличии от того гения я и про замыкания и про всплытие знаю.
Аноним 16/03/21 Втр 03:58:36 1968071113
>>1968056
Я тут недавно наткнулся на https://youtu.be/pahO5XjnfLA с темой про замыкания. Потом почитал кантора на эту же тему. Почему в этом видео по сути рассказывается вообще про другое? В целом конечно зная как работают замыкания можно сказать, что примерно он описывает этот процесс, но это же пиздец. У самураев этих ваших то же самое будет? Я еще хуею потом с того, что вот насмотришься таких видосов и будешь блядь собесы проходить. А еще и просмотров ведь дохуя и все благодарят. А фактически он говорит, что замыкания - это когда одна функция находится внутри другой. Это каким хуем вообще относится к замыканию?
Аноним 16/03/21 Втр 04:00:14 1968073114
>>1968068
>Но в отличии от того гения я и про замыкания
Да ты сам тот еще гений нахуй если жопой мой пост прочел, еще и высокомерный хуесос, СМАТРИТИ В АТЛИЧИИ ОТ ТОГО ВОТ А Я ТО УЖ А Я ВОТ НЕ ТО ЧТО ОН, фу блядь, иди под струю мойся
Аноним 16/03/21 Втр 04:09:42 1968076115
>>1968073
>Да ты сам тот еще гений нахуй если жопой мой пост прочел, еще и высокомерный хуесос
В твоем посте 0 конкретики. Только какие-то маняаналогии с деревянными домами.
Аноним 16/03/21 Втр 04:11:18 1968078116
>>1968076
Блядь, всё, тут невозможно без неймфажества вести диалог. Про деревянные дома писал НЕ Я.
Аноним 16/03/21 Втр 04:13:01 1968079117
>>1968078
Ну а хуле ты отвечаешь тогда не на свой пост, ало нахуй? За мной тоже в каждом треде бегается даун, который отвечает от моего имени на посты.
Аноним 16/03/21 Втр 04:14:19 1968080118
>>1968079
Да потому что в рот я ебал это анонимное общение, все разговаривают как сумасшедшие и никто ни за что не в ответе. Еще и хуй пойми кто вообще кому отвечает
Аноним 16/03/21 Втр 04:14:49 1968081119
Аноним 16/03/21 Втр 04:18:10 1968085120
>>1968081
это ты ПЛИЗ
Я тут с 2009 года, это не отменяет того факта, что анонимное общение не скатывается в говно едва это заходит дальше фап рулетки
Аноним 16/03/21 Втр 04:23:01 1968086121
>>1968085
>с 2009 года
>РЯЯЯЯЯЯЯЯЯЯ АНОНИМНОЕ ОБЩЕНИЕ НИПАНЯТНА КТО КОМУ ОТВЕЧАЕТ, ВОТ НА ШВЯТЫХ ФОРУМАХ С КАРМОЙ...
ПЛИЗ
Аноним 16/03/21 Втр 04:28:06 1968087122
Аноним 16/03/21 Втр 04:28:51 1968088123
>>1968086
ТАК ЭТО ТЫ ДОЛБОЁБ НЕ ПОНЯЛ КТО ТЕБЕ ОТВЕТИЛ СУКА
Ты даже локику разговора двух людей не можешь проследить. Какой нахуй кодинг. Ложкой в рот попадаешь? Вилкой без пробки пользуешься или тебе не доверяют такое?
Я нахуй ливаю из этого пиздеца, чтоб я еще раз тут о чем-то разговор завел, это пиздец, битва глухого со слепым в глубокой жопе обезъяны темной ночью
Аноним 16/03/21 Втр 04:30:33 1968089124
>>1968088
И да, скажу напоследок (признание):
Про деревянные дома писал всё-таки я.
Теперь точно ливаю.
Аноним 16/03/21 Втр 04:32:28 1968090125
Аноним 16/03/21 Втр 04:33:16 1968091126
>>1968090
Хотя нет, я пожалуй останусь! Всё-таки с 2009 тут, привык... Вы мне как родные, простите, анончики!!!
Аноним 16/03/21 Втр 04:33:18 1968092127
>>1968089
Вот ты мразь конечно, выдал всю свою подлую суть, поняв, что слился. Решил воспользоваться анонимностью общения и опять же написать от моего имени, иначе ведь бы вышло, что насрал тебе в штаны всё-таки ты сам? Ну пацаны-то с утра увидят кто тут обосрался на самом деле. Но ты конечно мразь по настоящему, если решил прибегнуть к такой хуйне. Фу блядь, вот это было по настоящему мерзко. Очередная причина не поддерживать тут никакой активности и кому-то еще отвечать. Пошел нахуй
Аноним 16/03/21 Втр 04:36:00 1968094128
>>1968092
Я полностью с тобой согласна. Пошли они нахуй!
Кстати, я тян-кодерша 19 лвл. Есть телега?
Аноним 16/03/21 Втр 04:41:52 1968099129
И с вами снова я - деревянный макак!
Всем привет, друзья!
Аноним 16/03/21 Втр 04:45:27 1968100130
Хотя нет. Я всё-таки понял, что кодерство не моё. Мне больше нравятся дома... Деревянные...
Деревянные дома, а не вот это вот всё...
Аноним 16/03/21 Втр 04:46:31 1968101131
>>1968092
Лол! А нахуя ты пишешь от моего лица?

мимодеревянный
Аноним 16/03/21 Втр 06:54:38 1968139132
Ребят, кто знает как в html создать цикл? Я раньше делал, но забыл.
деревянный
Аноним 16/03/21 Втр 07:08:36 1968141133
>>1968085
Пиздуй в телегу долбоеб. Там чатов по жс жопой жуй,хули ты тут разнылся.
Аноним 16/03/21 Втр 07:09:26 1968142134
>>1968094
Я тоже кодерша, но кун! Есть вайбер.
Аноним 16/03/21 Втр 07:12:55 1968143135
Пасаны, как загрузить мое говнокруд чтобы любой мог перейти по ссылке и повтыкать в него?
Аноним 16/03/21 Втр 07:47:08 1968152136
Аноним 16/03/21 Втр 08:26:32 1968154137
Аноним 16/03/21 Втр 09:44:04 1968189138
>>1967411 (OP)
https://habr.com/ru/company/otus/blog/547098/

>АРЯЯ КЛАССЫ НИНУЖНЫ!
>Использование классов гарантировает правильное приминение Inline Cache и рост производительности
>НИНУЖНЫ! НИНУЖНЫ! МНЕ ПАЦАНЫ ТАК СКАЗАЛИ!!
Аноним 16/03/21 Втр 10:10:01 1968216139
Аноним 16/03/21 Втр 10:12:06 1968222140
Почему хтмл с цсс такое гавно? Всякие хитровыебанные родительские свойства абсолютно неочевидные, которые запоминать надо, пляски с размерами и свойствами, применяется не то что ближе к телу в коде, а то, что просто ниже стоит в коде, но не всегда, если только не дальше дочернего тега. Короче лютая поебень. Такое впечатление что издатель трахнул дизайнера, а личинку гомункула скинули программисту куколду.
Аноним 16/03/21 Втр 10:20:41 1968232141
>>1968189
Там же его в коментах и обосрали
Аноним 16/03/21 Втр 10:22:28 1968236142
>>1968222
>хтмл с цсс такое гавно?
Эх сейчас бы писать сайты на плюсах с компиляцией, каждый сайт под отдельную архитектуру, было бы заебись да?
Аноним 16/03/21 Втр 10:28:10 1968241143
>>1968189
>var в цикле for
Всё ясно с этим экспертом.
Аноним 16/03/21 Втр 10:28:35 1968242144
>>1968236
Да, но лучше на ассемблере.
Аноним 16/03/21 Втр 10:31:58 1968250145
>>1968222
>которые запоминать надо
Как уже заебали неосиляторы подпивасные у которых память как у рыбки. Ебаные хтмлакадемии расплодили как бактерий этих даунов, а они и как дышать забыли, потому что это запоминать еще надо!
Аноним 16/03/21 Втр 10:33:35 1968252146
>>1968241
Еще один ребенок, увидевший var. Ведет себя в точности как пятиклассник, услышавший в тексте число 69
Аноним 16/03/21 Втр 10:33:47 1968254147
>>1968250
Я тебе такое полотно в голове накидал, что ты бы на пару лет в депрессии уебался, но тебе повезло и я забыл, что хотел написать.

мимо хтмлпрограммист
Аноним 16/03/21 Втр 10:35:45 1968256148
>>1968232
Тебе ж и говорят: Использование классов гарантировает правильное приминение Inline Cache. Нигде не сказано что оно магическим образом под капотом его несет
Аноним 16/03/21 Втр 10:43:58 1968262149
>>1968241
Пидерашка а кто за тебя будет чистить мусор? У тебя просто будет 100001 лет-копия в цыкле и память утечет примерно за час.
Аноним 16/03/21 Втр 10:46:42 1968263150
>>1967411 (OP)
На связи фуллстек макака: питон (aiohttp/sanic) + жс (ангуляр)
9 месяцев назад вкатился, сейчас думаю менять работу чтобы не застрять на одном месте (и апнуть зп конечно же). Как посоветуете выбирать проекты, чтобы не продаться за дешево или не сесть за неликвидное гавно?
буду также идти фуллстеком пока либо только в бэк, как получится
Аноним 16/03/21 Втр 10:47:33 1968266151
>>1968263
Мог бы пойти и в бэк на Ноду, но вакансий не шибко много да и берут туда в основном сеньористых мидлов
Аноним 16/03/21 Втр 11:00:30 1968270152
>>1968263
>Как посоветуете выбирать проекты,
Ставишь перед собой бутылки, подписываешь их именами проектов. Крутишь бутылки, которая горлом покажет на тебя - садишься на нее.
Аноним 16/03/21 Втр 11:15:47 1968282153
>>1968263
По зп какие ожидания?
Аноним 16/03/21 Втр 11:19:41 1968288154
>>1968282
Ну что бы на дошик хотя бы хватало(месячный запас), ну и раз в неделю под хвост буду с удовольствием принимать(готов бесплатно!). В целом будет клево если еще стекломоя смогу купить на оставшуюся зп.
Аноним 16/03/21 Втр 11:20:45 1968290155
>>1968282
От 100к минимум
На моем нынешнем месте в ДС2 мне походу чисто из принципа не хотят повышать ("аноннейм, ты больно много хочешь! мы тебя за 50к взяли, сейчас повысили до 60! куда тебе еще-то?")
Аноним 16/03/21 Втр 11:29:27 1968297156
>>1968026
Выучил, что дальше?
Аноним 16/03/21 Втр 11:29:36 1968298157
>>1968252
Это конечно хорошо, но в остальных примерах у него вполне еретический const. А вар именно в цикл засунул, ага.
>>1968262
Какой сбощик мусора, ебло? Конкретно в его примере будет храниться миллион референсов даже с варом, так что прокукарекай тут про утечки памяти.
Аноним 16/03/21 Втр 11:35:33 1968310158
image 4202Кб, 3310x3310
3310x3310
>>1968297
Дальше, сложнее. Делай бочку.
Аноним 16/03/21 Втр 11:37:35 1968313159
Какое же хипстерское говно этот конфиг для eslint от airbnb.
Аноним 16/03/21 Втр 11:39:37 1968316160
>>1968310
Сделал такую бочку в Valheim
Аноним 16/03/21 Втр 11:40:44 1968318161
>>1968290
>аноннейм, ты больно много хочешь! мы тебя за 50к взяли, сейчас повысили до 60! куда тебе еще-то?
Провинция, известная галера, з.п. миддла вчерашнего юниора FE 80, что в питере фуллстэку платят 60, я бы не поверил, но вот только что прочитал на форуме, где все друзья. Это пиздец.
Рили, я бы на твоем месте откликался на все подряд - куча вакансий в ХХ удаленных в том числе где зарплата от 100. Мне бы даже 100 мало показаось, я бы брал от 150.
Аноним 16/03/21 Втр 11:45:21 1968323162
>>1968318
В экосистеме должны существовать все, и чушки работающие за еду, и люди которые себя уважают.
Аноним 16/03/21 Втр 11:46:40 1968325163
>>1968318
>фуллстэку платят 60
Хе, так я ж зеленым вкатуном тогда был. На тот момент это действительно было норм, тем более что к моим косякам относились с пониманием и даже позволяли учить ангуляр на ходу, особо не доебываясь на этой почве, но пора расти
Аноним 16/03/21 Втр 11:57:27 1968335164
>>1968325
Тут еще такое может быть что ты вырос, но у них восприятие тебя тем же вкатуном никуда не ушло. Это даже понятие такое есть в психологии, не вспомню сейчас. Отрезвляет в таких случаях только оффер на руках с циферками, после которого у них должна проснуться мысль, что такая корова нужна самому, и следовательно контроффер в ответ. Ну или не должна, но у тебя уже вариант есть.Только так.
Аноним 16/03/21 Втр 12:10:41 1968351165
>>1968323
За чсв не доплачивают.
Аноним 16/03/21 Втр 12:14:24 1968358166
>>1968335
>Это даже понятие такое есть в психологии
Психология тут ни причём, программисты существуют, чтобы приносить ПРИБЫЛЬ бизнесу, соответственно чем выше ЗП у отдельного программиста, тем ниже ПРИБЫЛЬ у бизнеса.
>и следовательно контроффер в ответ
Если РАБотник прошёл через поиск новой работы находясь на нынешней, то скорее всего его не устраивает не только ЗП, и эти проблемы повышением ЗП не решатся.
Аноним 16/03/21 Втр 12:15:46 1968360167
>>1968351
Эх, если бы. По собственному опыту скажу - видел сеньоров, которые доебывали миддлов вопросами, а-ля что там как работает, и джунов посмышленнее миддлов, и лидов, которые в жизни не подумал бы что лиды.
Аноним 16/03/21 Втр 12:22:14 1968366168
>>1968360
Лид - необязательно синьор.
Аноним 16/03/21 Втр 12:26:51 1968373169
>>1968358
>Психология тут ни причём, программисты существуют, чтобы приносить ПРИБЫЛЬ бизнесу
Трава зеленая, небо голубое.
Я и говорю про то, что ЕСЛИ он вырос, следовательно приносит больше прибыли, они должны его мотивировать, но часто бывает так, что действительно вырос, но этого НИКАК не видят - и это проблема ПСИХОЛОГИИ восприятия.
>Если РАБотник прошёл через поиск новой работы находясь на нынешней, то скорее всего его не устраивает не только ЗП
> скорее всего
Отдавать самый ценный ресурс - время, работая по найму, и не ставить во главе угла ЗП, по мне это несмышленность, как минимум. Тем более речь о том что ты не меняешь профиль деятельности, а делаешь работу которую и до этого делал за меньшую зп.
Аноним 16/03/21 Втр 12:29:03 1968376170
>>1968366
Да, но я имел ввиду не лид команды, а lead developer как ступень после senior developer (у нас по крайней мере такая градация).
Аноним 16/03/21 Втр 12:38:12 1968396171
>>1968373
>Я и говорю про то, что ЕСЛИ он вырос, следовательно приносит больше прибыли
От того, что он запомнил все глобальные методы Ангуляра, ПРИБЫЛЬ у компании не возросла. Соответственно платить ему больше снихуя - уменьшение ПРИБЫЛИ компании.
>но часто бывает так, что действительно вырос, но этого НИКАК не видят
Почему эта ситуация частая, ты конечно же не задавался вопросом.
>Отдавать самый ценный ресурс - время, работая по найму, и не ставить во главе угла ЗП, по мне это несмышленность, как минимум.
Есть два стула: на одном компания из отбитых вороватых пидорах за 300к наносек, на другом - цивилизованная фирма белых людей, но за 150к. На какой из стульев сядешь?
Аноним 16/03/21 Втр 12:42:06 1968401172
>>1968376
После синьора идут уже околокабанчиковые должности, так что условный лид необязательно лучше в кодинге чем даже мидл.
Аноним 16/03/21 Втр 12:44:00 1968405173
Как сейчас эффективнее разобраться с реактом и стеком вокруг него?

https://reactjs.org/
https://redux.js.org/ (слышал что многие нелестно отзываются, но тут больше вопрос того что требуется в вакансиях)

Этих офдок будет же недостаточно да?
Аноним 16/03/21 Втр 12:45:38 1968412174
>>1968405
Ну там базированная база. Лучших практик ты там не найдешь, по моему мнению
Аноним 16/03/21 Втр 12:51:17 1968420175
Хотите быстродействия пишите лучше на ассемблере, жс не для этого создан
Аноним 16/03/21 Втр 12:51:27 1968422176
Аноним 16/03/21 Втр 12:52:27 1968426177
Аноним 16/03/21 Втр 12:53:31 1968427178
>>1967624
бамп, вдруг кто объяснит
Аноним 16/03/21 Втр 13:08:33 1968442179
>>1968396
>От того, что он запомнил все глобальные методы Ангуляра, ПРИБЫЛЬ у компании не возросла.
Правда? Тоесть гугл может нанять вкатывальщиков, готовых кодить за еду, прибыль вырастит - платить же меньше, так? И что будет с такой компанией в дальнейшем? Какие перспективы?
Или ты имеешь ввиду цель компании - оптимизация - взять получше и подешевле? Тогда почему наемному сотруднику также не относится к компании?
>Почему эта ситуация частая, ты конечно же не задавался вопросом.
Для меня это само собой разумеющееся, и опять сводится к ПСИХОЛОГИИ - организм стремится к покою, поиск нового - раздражитель.
>Есть два стула: на одном компания из отбитых вороватых пидорах за 300к наносек, на другом - цивилизованная фирма белых людей, но за 150к. На какой из стульев сядешь?
У тебя крайности, в мире все не так. Я из условного люксофта, буду стремиться в условный авиасэйлз, когда и если скилл будет позволять, думаю как и любой адекватно мыслящий кодер.
Аноним 16/03/21 Втр 13:08:40 1968443180
>>1968189
Нихуя не понял из высера этого петухабра, зато нашел нормальное https://gist.github.com/twokul/9501770 https://richardartoul.github.io/jekyll/update/2015/04/26/hidden-classes.html объяснение.
Суть - динамический js будет работать быстрее, с кэшированием, только в случае неизменности макета.
Чистые функции и неизменяемые переменные кэшировались всегда (но это не точно), так что абсолютно похуй.
Аноним 16/03/21 Втр 13:16:29 1968450181
>>1968442
> Я из условного люксофта, буду стремиться в условный авиасэйлз
Сразу скажу из-за з.п. я, так получилось, знаю сколько платят миддлам в этих компаниях, а не из-за того что условный авиасейлз стильныймодныймолодежный. В продуктовых потому что платят существенно больше чем на галере, не беря в рассчет исключения ноунеймы - а-ля "веб студия васи иванова".
Аноним 16/03/21 Втр 13:22:58 1968455182
Аноним 16/03/21 Втр 13:24:07 1968456183
>>1968358
Как ты там собрался замерять прибыль, лол. Может только у онлайн-галлер есть такое преимущество в замерах, да и то там экономического смысла почти нихуя нет в большинстве случаев.
Аноним 16/03/21 Втр 13:31:38 1968460184
>>1968401
Я именно про лида который КОДИТ и ничего не лидит, как ступень после сеньора. Лид, который лидит,в той команде тоже был, но речь именно про скилл того лида, который чисто кодер был.
Аноним 16/03/21 Втр 13:36:29 1968466185
>>1968405
Взять/придумать проект со всеми фичами современных веб-сервисов и гуглить/стэковерфловить как это сделать на том или ином фреймворке. Доки чисто как база, как алфавит, можно сказать. Все на практике только познается.
Редакс много где сейчас, там паттерн надо вдуплить, кроме редакса есть еще реализации, но редакс по кол-ву звездочек их все вместе взятых рвет.
Аноним 16/03/21 Втр 13:38:02 1968467186
>>1968401
В больших компаниях вполне бывают должности выше сеньора без кабанизма. Техлид или архитектор обычно они называются, но тут совсем вакханалия с семантикой начинается: Вакансия с названием техлида может оказаться по факту хоть на менеджера, хоть на тимлида или сеньора.
Аноним 16/03/21 Втр 13:43:22 1968470187
Пасаны куда и как можно загрузить свой круд на реакте чтоб любой мог по ссылке пройти и повтыкать в него?
Аноним 16/03/21 Втр 13:46:51 1968477188
>>1968460
А ступень после лида, это Бодхисаттва?
Аноним 16/03/21 Втр 13:48:36 1968480189
Аноним 16/03/21 Втр 13:52:36 1968485190
>>1968477
Нет ее, это высшая инженерная ступень.
Аноним 16/03/21 Втр 13:55:09 1968487191
Чем отличается инженер от программиста?
Аноним 16/03/21 Втр 14:10:38 1968495192
а ну то есть reduce сразу ко 2 элементу в массиве применяется? ахуенно блять
Аноним 16/03/21 Втр 14:14:38 1968498193
Аноны, подскажите советом - какую книгу нормальную почитать о том как писать нормальный клиентский код на чистом JS.
Я вообще бекенд пишу, реакт знаю по вершкам. Но чет сам решил нативным JS на классах сделать в свой приложухе динамическую форму - получилось. Но код просто блядь пугает.
Особенно тот момент когда я DOM-элемент "привязываю" к какому то своему объекту. Ну в объекте есть ссылка на объект DOM.
Как правильно работать с тем, что этот объект может получить любой другой обработчик, и менять его состояние как ему угодно.

Или эта тема нормально не реализуется без своего маленького реакта?
Аноним 16/03/21 Втр 14:15:08 1968499194
>>1968498
п.с.
или мне не ебать мозги, а сразу васянить на реакте?
Аноним 16/03/21 Втр 14:16:29 1968501195
>>1968498
ппс
>Как правильно работать с тем, что этот объект может получить любой другой обработчик, и менять его состояние как ему угодно.

Как правильно работать с тем, что этот объект DOM может получить любой другой обработчик, и менять его состояние ( и его html ) как ему угодно.
Аноним 16/03/21 Втр 14:19:02 1968504196
>>1968498
А чому ты хочешь без реакта писать? Есть сокральный смысол?
Аноним 16/03/21 Втр 14:35:31 1968531197
>>1968466
Вопрос про источники инфы, всетаки. Где наиболее сконцентирована инфа по реакта. Нагуглить и так понятно что можно что угодно
Аноним 16/03/21 Втр 14:39:33 1968536198
>>1968456
>Как ты там собрался замерять прибыль, лол.
Так её и не замеряют. Соответсвенно увеличение ЗП === уменьшение ПРИБЫЛИ для компании без ведомых на то причин. А причины искать не будут, потому что вся эта техническая хуитка для стороннего наблюдателя, манагера то есть - чистый и незамутнённый талмудизм. Хоть всю спеку TC39 заучи после вката, для манагеров будешь всё тем же вкатывальщиком-ждуном.
Аноним 16/03/21 Втр 14:46:09 1968549199
>>1968498
>Как правильно работать с тем, что этот объект может получить любой другой обработчик, и менять его состояние как ему угодно.
Object.freeze().
>>1968501
>Как правильно работать с тем, что этот объект DOM может получить любой другой обработчик, и менять его состояние ( и его html ) как ему угодно.
Не пихать скрипты с любыми другими обработчиками? Откуда ты блять левые обработчики ожидаешь в своём скрипте увидеть?
Аноним 16/03/21 Втр 14:59:00 1968572200
>>1968504
Вью / ангуляр - НИКРУТА?
Аноним 16/03/21 Втр 15:14:32 1968594201
>>1968572
И вью, и реакт, и ангуляр никрута так-то
Аноним 16/03/21 Втр 15:21:33 1968599202
>>1968504
>>А чому ты хочешь без реакта писать? Есть сокральный смысол?
В своем приложении хочу и повелосипедить немного ( пока что, оно может вырасти ).

>>1968549
>>Не пихать скрипты с любыми другими обработчиками? Откуда ты блять левые обработчики ожидаешь в своём скрипте увидеть?

Исхожу из логики что потом уже не я могу этот код поддерживать. На бэке принято пердолитсья со всякими патернами ООП и прочим. В JS мире может на это хер кладут. Я потому и спрашиваю какую нибудь хорошую книгу в которой описан лучший путь.
Аноним 16/03/21 Втр 15:24:31 1968602203
>>1968549
п.с.
>Object.freeze()
Я правильно понимаю что допустим получив в одном обработчике объект формы я могу его заморозить. Но ничто не мешает в другом обработчике получить объект этой же формы, и допустим перепахать ее html как угодно?
Аноним 16/03/21 Втр 15:36:54 1968625204
>>1968602
фриз не изменяемый метод
Аноним 16/03/21 Втр 16:07:35 1968664205
>>1968602
>Но ничто не мешает в другом обработчике получить объект этой же формы, и допустим перепахать ее html как угодно?
А тебя ебать должно во что там перепахался html? В объекте будут храниться все релевантные данные и все изменения в нём будут происходить только через определённые методы, которые будут менять и состояние полей в html в одностороннем порядке. Если добавить сюда ассинхронщину, то переизобретёшь флюкс. А если посчитаешь, что собирать компоненты в доме слишком заёбисто, то переизобретёшь и jsx.
Аноним 16/03/21 Втр 16:11:56 1968668206
>>1968599
> повелосипедить
Лучше велосипедь с фреймворками вроде solid. Свои велосипеды бессмысленны и опасны в ситуации внешних апи.
Аноним 16/03/21 Втр 16:39:50 1968700207
А для сервера вебпак нужен? Сейчас думал начать писать субконфиг, а потом подумал, а нахуй мне его собирать вообще? Я же его юзерам не отправляю, его node-ts спокойно исполняет со всеми модулями и всей хуйней из коробки.
Аноним 16/03/21 Втр 16:44:03 1968703208
Анончики, посоветуйте, что можно сделать. Я делал несколько сайтов на заказ разным людям, фронт часть. Сами сайты они не запускали, потому что там еще в процессе всё. А вот мне хочется как-то выложить их в потрфолио, чтобы можно было искать работу другую. Что можно делать в таком случае? Исходники ведь показывать нельзя, если это заранее не было обговорено? Деплоить куда-то фронт часть, чтобы можно было потыкать с фейковым беком это тоже нарушение прав в каком-то смысле? Ну и самый тупой вариант - просто выложить скрины сайтов.

Что можно делать в таком случае? Есть еще конечно идея, переписать немного сайт так, чтобы внешне он уже не совпадал с тем, что ты делал до этого, но тогда опять же ведь код будет тот же самый.

Как этот вопрос вообще решается в сфере кодеров? Например в тех случаях, когда то, что ты пишешь, это вообще не что-то публичное, и тогда невозможно просто взять и выложить это на всеобщее обозрение, бек там какой-нибудь
Аноним 16/03/21 Втр 16:47:13 1968710209
Mobx
Аноним 16/03/21 Втр 16:51:47 1968713210
>>1968700
Серверный код лучше не транспилировать, так как ошибки из-за трансформаций могут вылететь в копеечку, в отличии от клиентского кода, который в худшем случае просто не заработает.
Аноним 16/03/21 Втр 16:56:26 1968716211
>>1967570
Дальше YDKJS с отладчиком на вооружении. Кантор - это не более чем ознакомление с темой, его уже давно недостаточно для понимания жс.
Аноним 16/03/21 Втр 17:02:42 1968722212
image 22Кб, 476x256
476x256
ы
Аноним 16/03/21 Втр 17:02:42 1968723213
У var функциональная область видимости, то есть если где-то вне скобок используется эта переменная, она будет видна, а let блочная, только в рамках скобок работает. Я правильно понял или нет?
Аноним 16/03/21 Втр 17:04:10 1968726214
>>1967570
Хоть что-то запомнил? Правда интересно
Аноним 16/03/21 Втр 17:12:30 1968741215
image.png 17Кб, 853x147
853x147
Аноним 16/03/21 Втр 17:18:43 1968749216
>>1968741
Так это не функционально, ты же не вызвал функцию..
Я вообще не уверен, но Симонс или Симпсонс так говорит
Аноним 16/03/21 Втр 17:19:25 1968751217
image.png 15Кб, 656x96
656x96
>>1968722
Че ыкаешь, макакен?
Аноним 16/03/21 Втр 17:19:51 1968753218
>>1968749
>ты же не вызвал функцию
Ну так вызови... Сам думаю догадываешься что произойдет
Аноним 16/03/21 Втр 17:22:31 1968757219
image.png 22Кб, 549x258
549x258
Аноним 16/03/21 Втр 17:24:41 1968758220
>>1968753
>>1968757
Да я в программирование не первый день, просто эти скопы меня запутали, плюс смотрел интервью, где многие горят на var, называя ее глобальной переменной. Сейчас перелистал книгу и не нашел этого примера, хуй знает что за магия произошла.
Аноним 16/03/21 Втр 17:27:01 1968766221
>>1968757
Пример сверху не увидел. То есть получается это работает не в случае с функцией, а с условием if?
Аноним 16/03/21 Втр 17:29:06 1968769222
В принципе логично, так как выполнение команды идет дальше, и возможно мы будем использовать эту переменную, но в C# вроде она работает только в блоке, дальше ее видно не будет. Я с каждой новой главой всё больше от шарпа отдаляюсь, как будто вообще его никогда не знал. Либо просто новые знания, о которых я даже не задумывался во время разработки.
Аноним 16/03/21 Втр 17:31:53 1968773223
>>1968766
>>1968769
Разве в шарпе не то же самое?.. Переменная которую ты объявляешь в блоке for / if / while не должна же утекать за пределы этого блока

В Пистоне например не так. Там нет никакой "блочной области видимости" (но по правде говоря не помню когда это мне хоть раз бы мешало)
Аноним 16/03/21 Втр 17:33:11 1968776224
>>1968773
Какая-то дрочь с этим варом если честно, вообще не логично, хотя Симпсон говорит, что и var и let нужно использовать, хотя для меня проще в начале блока указать let, чтобы область видимости была там, где мне это нужно использовать в дальнейшем по назначению, а внутри блока при необходимости изменять эти данные через конструкции if и так далее.
Аноним 16/03/21 Втр 17:34:38 1968778225
>>1968741
>>1968749
>>1968758
>js это просто
>пол треда не могут разобраться с тем, что такое var и как он работает
Аноним 16/03/21 Втр 17:36:45 1968782226
Фронтоаноны, чому вебпак не скукоживает весь жопаскрип в один файл? Не хочу вот такую хуйню на странице <script src="/build/runtime.js" defer></script><script src="/build/vendors-node_modules_srexi_purecounterjs_dist_purecounter_js-node_modules_alertifyjs_build_al-635012.js" defer></script><script src="/build/app.js" defer></script>
А вот такую хочу <script src="/build/app.js" defer></script>
Аноним 16/03/21 Втр 17:38:21 1968784227
>>1968778
Сложности жс именно в уебанских тонкостях работы интерпретатора и необходимости тащить легаси-парашу без возможности просто ее отбросить (а то код в браузерах просто кекнится и перестанет работать)
Забавно кстати когда некоторые прогеры на жс выставляет это все как достоинства блин. Питонисты кстати тоже часто этим страдают
Аноним 16/03/21 Втр 17:39:14 1968786228
>>1968778
Это просто, но не совсем логично. Зачем мне var, если я могу сделать такой код.
let num = 5;
let num2 = 0;
if(num == 5){
num2 = 10;
}
console.log(num2);
Я хочу явно видить, где у меня эта переменная используется, в моем случае, я получу какое-то стандартное значение, если даже if не пройдет, иначе ReferenceError.
Аноним 16/03/21 Втр 17:46:30 1968793229
>>1968782
Вообще-то вендоров он должен в отдельный файл пихать, чтобы не дрочить кэш лишний раз. Хуй знает почему у тебя два вендорских файла, колупай свой конфиг.
>>1968786
>Зачем мне var, если я могу сделать такой код.
Потому что var древнее let/const. Его не нужно использовать в свежем коде.
Аноним 16/03/21 Втр 17:47:30 1968794230
Я этих замыканий в рот ебал.
Когда функция создается, у неё сразу же появляется скрытое свойство environment, которое содержит ссылку на внешнее лексическое окружение того места, в котором она была создана, что и создает замыкание.
При этом сама функция содержит скрытый объект Lexical Environment, в котором есть Environment record, с списком всех локальных переенных, и объект содержащий ссылку на внешнее лексическое окружение.
Вопрос! Нахуя функции 2 ссылки на внешнее лексическое окружение, если все функции это всё равно замыкания? Как это работает? Ссылки из environment нужна функции только если она была присвоена какой-то переменной?
Аноним 16/03/21 Втр 17:49:17 1968796231
>>1968793
>Его не нужно использовать в свежем коде.
Вот с этого я в ахуе каждый раз. Постоянно везде где только можно вижу вар, в новых уроках, от всяких прошаренных спецов, в свежих документациях написанных вчера, везде! Вы что-то от меня скрываете? Почему вар используется везде и по сей день? Ответ о том, что это просто старый урок, код, дока и т.п. совершенно не принимается, поскольку это не так. Тут должно быть что-то еще
Аноним 16/03/21 Втр 17:49:18 1968797232
>>1968793
Была единственная подозрительная хуйня в конфиге - splitEntryChunks() Я ее вырубил, но после билда нихера не поменялось.
Аноним 16/03/21 Втр 17:55:38 1968806233
Аноним 16/03/21 Втр 17:59:56 1968813234
>>1968796
>от всяких прошаренных спецов
Так эти "спецы" или с другого языка вкатываются и по привычке хуярят вар, или писали код до появления даже строгого режима и необучаемые. Особенно проигрываю с яндекса, там как пить дать перемалывают косточки с var/let/const на собесе и прочие пропозалы екмаскрипта, но внутреннее говно будешь на варах и фабричных функциях писать.
Аноним 16/03/21 Втр 18:10:57 1968834235
Аноним 16/03/21 Втр 18:12:13 1968838236
>>1968796
>>1968813
Главное let в цикле не использовать... Главное не использовать в цикле...
Аноним 16/03/21 Втр 18:16:27 1968849237
Есть что-нибудь такое же фундаментальное как YDKJS, только по Angular + RxJS? Хотелось бы не отрывками откуда то знания брать, а именно быть уверенным в том, что я весь фундамент знаю и могу переходить к практике не ниже миддла (но без набитой руки).
Аноним 16/03/21 Втр 18:18:16 1968850238
image.png 228Кб, 480x360
480x360
>>1968838
Если let в цикле использовать, то это.. это самое плохое.. потом так и будешь использовать
Аноним 16/03/21 Втр 18:20:54 1968856239
Аноним 16/03/21 Втр 18:22:24 1968862240
>>1968850
>Если let в цикле использовать, то это.. это самое плохое.. потом так и будешь использовать
Примерно так весь кодинг и объясняется
Аноним 16/03/21 Втр 18:38:13 1968878241
>>1968856
Мне не обязательно серия YDK, по Ангуляру там только вопросы, без постепенной подачи материала, которая поможет на практике. Есть книга или сайт какой-то такого же уровня, как и по JS?
Аноним 16/03/21 Втр 18:44:48 1968883242
>>1968878
да, читай лерн ангуляр кантора
Аноним 16/03/21 Втр 18:57:45 1968898243
>>1968883
Годно, и MEAN стак можно изучить, и RxJs еще. А ты сам брал по Ангуляру, оч хороший, устроился потом куда-нибудь? И если что, можешь аккаунтом поделиться или выгрузить, а то джуну без опыта идти только дворником работать чтобы за пару месяцев на курс накопить.
Аноним 16/03/21 Втр 19:03:09 1968907244
>>1968664
>>А тебя ебать должно во что там перепахался html?
Ну допустим из разметки я при каком то вызове хендлера должен получить, и не сейчас прям, а через некоторое время. А в это время другой объект может получить элемент DOM из этой разметки и нахуевертить.
Я готов потратить месяцок на пердолинг с книгой, что бы лучше понять как правильно все структурировать.
Вот книгу и спрашиваю. Чето типа "построение корпоративных интерфесов на JS без фреймворков и мокрых писек без смс"
Аноним 16/03/21 Втр 19:03:39 1968908245
>>1968907
п.с.
что сука характерно - бекенд на ноде прям проще дался
Аноним 16/03/21 Втр 19:10:51 1968919246
Аноним 16/03/21 Втр 19:13:45 1968922247
image 305Кб, 1828x1074
1828x1074
У меня от энтой хуйни глаза на лоб лезут, можно это безболезненно скипать? Поверхностно понял че такое генераторы, читать 100 страниц про них больно.
Аноним 16/03/21 Втр 19:15:49 1968928248
Аноним 16/03/21 Втр 19:17:19 1968930249
Стикер 0Кб, 512x512
512x512
Аноним 16/03/21 Втр 19:20:30 1968933250
>>1967411 (OP)
считается ли хорошим тоном использовать в тестовом фреймворки типа материала
в тз написано что Используемые технологии: JS, HTML, CSS. JS-фреймворки не запрещены.
Аноним 16/03/21 Втр 19:21:05 1968936251
>>1968922
у меня от вас генераторы и даже обещания
Аноним 16/03/21 Втр 19:29:55 1968944252
Аноним 16/03/21 Втр 19:34:42 1968948253
>>1968933
Не важно, тебя все равно не возьмут на работу, пока ты не напишешь по памяти в блокноте клон гугла. С беком конечно, и всеми сервисами. Но это только для бесплатной стажировки.
Аноним 16/03/21 Втр 19:36:28 1968949254
>>1968944
Генераторы, долбоеб.
Аноним 16/03/21 Втр 19:46:29 1968960255
const result = words.filter(word => word.length > 6);

Что за механизм заставляет передавать в функции параметры, как например здесь в методе filter, когда мы делаем этого явно. Ведь мы просто создаём анонимную функцию, которая ждет, что в нее будет передан параметр. Как фильтр передает в эту функцию текущий элемент массива? Как это называется? Где прочитать?
Аноним 16/03/21 Втр 19:49:24 1968964256
>>1968960
фильтр возвращает массив готовый массив, элемент массива передает стрелочная функция
Аноним 16/03/21 Втр 19:52:04 1968972257
>>1968964
аргумет с массивом парсится в множество аргументов для функции

можешь представить это как обычный цикл for
Аноним 16/03/21 Втр 19:54:17 1968976258
>>1968972
>>1968964
Вы вообще прочли вопрос или просто так решили написать набор слов?
Аноним 16/03/21 Втр 19:55:36 1968978259
Стикер 447Кб, 512x396
512x396
>>1968976
>Вы вообще прочли вопрос или просто так решили написать набор слов?
Аноним 16/03/21 Втр 20:15:00 1968994260
>>1968907
>Ну допустим из разметки я при каком то вызове хендлера должен получить, и не сейчас прям, а через некоторое время.
Хендлер будет вызывать связанный метод с твоим состоянием, все модификации дома за пределами этих методов будут считаться невалидными для состояния.
>А в это время другой объект может получить элемент DOM из этой разметки и нахуевертить.
Чё ты вообще несёшь? Какой другой объект? Поконкретней юзкейс приведи, а то получается, что ты не можешь управиться с домом даже на своей странице.
>Я готов потратить месяцок на пердолинг с книгой, что бы лучше понять как правильно все структурировать.
Нет такой книги, так как пока её будут писать, то советы в ней устареют. Касается в принципе всех книг по жс, кроме самых общих.
>Вот книгу и спрашиваю. Чето типа "построение корпоративных интерфесов на JS без фреймворков и мокрых писек без смс"
Никто не будет эту книгу писать. Человеку, на это способному, проще свой фреймворк создать и пропихнуть, чем вкатунов учить.
Аноним 16/03/21 Втр 20:21:36 1969002261
>>1968960
ебать с такими вопросами иди документацию джаваскрипта читай и гугли на тему как работают языки программирования
Аноним 16/03/21 Втр 20:22:35 1969006262
>>1968907
Один вопрос: Код твой, зачем тебе хуевертить какие-то элементы из второго места?
Аноним 16/03/21 Втр 20:28:21 1969011263
>>1969006
Ну т.е. если мы передаем в функцию параметр явно, например:
func(5);
Это понятно, а когда мы не передаем в функцию аргумент явно, то каким образом он туда передается? Я не спрашиваю как работает метод фильтр, это просто пример.
Потому что вот здесь someArr.filter(arrElement => arrElement.length > 1), откуда анонимная функция берет этот arrElement? Что передает к примеру в данном конкретном случае текущий элемент массива в эту функцию?

>документацию джаваскрипта читай
С радостью, вот бы только знать, где там об этом написано
Аноним 16/03/21 Втр 20:30:42 1969015264
Обьясните вот сейчас когда интернет космических скоростей, на пекарнях майнят, нахуя все эти библиотеки реакты вью редаксы графкли , неудели нельзя пилить сайты как раньше ?
Аноним 16/03/21 Втр 20:33:50 1969020265
>>1969011
>Ну т.е. если мы передаем в функцию параметр явно, например:
Но ты не передаёшь функцию здесь, а только результат её вызова.
Аноним 16/03/21 Втр 20:34:13 1969021266
>>1969015
Я тоже так думал, когда 5G еще только в головах у людей был.
Суть такова скорость веба по другому работает, нежели скорость передачи данных по сети. Фильмы может будешь качать быстрее, но странички быстрее своего максимума открываться не станут.
Аноним 16/03/21 Втр 20:37:19 1969024267
>>1969020
Откуда тогда сама эта функция берет аргумент для себя? Я же нигде этот аргумент в неё не передаю. arrElement ведь каким-то образом сам подставляет в себя текущий элемент массива. Как?
Аноним 16/03/21 Втр 20:37:30 1969025268
>>1969021
Ну есть же типа всякин http2 или еще че
Аноним 16/03/21 Втр 20:40:59 1969027269
>>1969015
>>1969021
Все эти фреймворки нужны не для уменьшения трафика, а для во первых более быстрой работы страниц в самом браузере. Потому что то, как браузер оперирует элементами DOM по дефолту, это очень долго. Второе - SPA. Сам по себе браузер не может оперировать страницей так, как будто бы ты работаешь с приложением. Для этого и нужны фреймворки. Вот две этих основных задачи и выполняют фреймворки/библиотеки. Все остальное вторично
Аноним 16/03/21 Втр 20:43:40 1969030270
>>1969015
>интернет космических скоростей
Абсолютно однохуйственно после того, как страница и весь контент загрузились.
>на пекарнях майнят
Майнят на видеокартах, а жабаскрипт, однопоточный синхронный язык, работает на процессоре. На котором ещё вся остальная система работает, включая браузер, в котором этот жабаскрипт запускается.
>нахуя все эти библиотеки реакты вью редаксы графкли , неудели нельзя пилить сайты как раньше ?
Ты залётный что ли? Библиотеки эти нужны, чтобы хуяк хуяк и готово быстрее приближать. Попробуй любой компонент средней сложности писать без какого-нибудь шаблонизатора, даже на условном жикверике быстро завоешь волком и побежишь в цирк выступать.
Аноним 16/03/21 Втр 20:44:50 1969032271
xxx.png 54Кб, 1110x670
1110x670
>>1969024
>>1969020
Вот например другой вариант, пример у кантора, пикрил.
Откуда функция принимает этот x? Понятно, что x это текущий элемент массива, но каким образом текущий элемент передается-то? Я бы с радостью почитал про это, вот бы только понять где
Аноним 16/03/21 Втр 20:49:15 1969037272
>>1969024
Потому что блять он ожидает в аргумент функцию с конкретным аргументом. Учи замыкания, чтобы не быть баттхёртом. А ещё лучше напиши отдельную функцию, которая должна колбэком в arr.filter() идти, а не инлайнь её анонимкой, там сразу всё поймёшь.
Аноним 16/03/21 Втр 20:51:43 1969041273
Аноним 16/03/21 Втр 20:54:03 1969043274
>>1969032
Бля, он передаёт ВЫЗОВ функции, которая возвращает функцию, подходящую параметрами как колбэк для фильтра. Тут тебе уж точно надо учить захват переменныхзамыкания.
Аноним 16/03/21 Втр 20:56:16 1969044275
>>1969037
>Учи замыкания, чтобы не быть баттхёртом.
В данном случае не замыкания, а коллбеки ведь, вот лишь бы спиздануть
Аноним 16/03/21 Втр 20:56:35 1969047276
>>1968907
Francesco Strazzullo - Frameworkless Front-End Development_ Do You Control Your Dependencies Or Are They Controlling You_ (2019, Apress)
Аноним 16/03/21 Втр 20:58:57 1969048277
>>1968922
>Обратные вызовы не обладают средствами композиции
Но cont это же монадка...
Аноним 16/03/21 Втр 20:59:23 1969049278
>>1969043
Я тебя сейчас ударю нахуй. Каким образом это относится к замыканиям сука? Замыкания - способность функции запоминать ссылку на внешнее окружение при её создании. Как этот факт объясняет то, что в Х попадает текущий элемент массива?
Аноним 16/03/21 Втр 21:08:38 1969057279
Аноним 16/03/21 Втр 21:09:00 1969058280
Это пиздец просто, эти люди код потом пишут? Я пока вопрос задавал уже сам ответ понял, а вы всё еще не можете понять вопрос
Аноним 16/03/21 Втр 21:14:24 1969064281
Стикер 511Кб, 461x512
461x512
>>1969049
>Я тебя сейчас ударю нахуй.
Аноним 16/03/21 Втр 21:17:32 1969068282
>>1969064
Хватит постить здесь свои фотки и фото своего бати >>1968978
Аноним 16/03/21 Втр 21:18:03 1969069283
>>1968922
Тоже сгорела от них жопа. А там еще всякие связки генераторов с промисами и прочее. И про async/await автор упоминает лишь вскользь, хотя как я понял они руинять всю эту хуйню с генераторами и делают их по сути нахуй не нужными.
Аноним 16/03/21 Втр 21:18:43 1969070284
>>1969049
Придурок почитай про метод фильтр
Аноним 16/03/21 Втр 21:21:50 1969071285
image 35Кб, 354x360
354x360
>>1969069
Я вроде как расчитался, читаю просто бегло, че не понимаю - похуй, читаю дальше, автор хорошо от абзаца к абзацу объясняет, если не понял с первого абзаца есть впереди еще три или четыри, он там свои мысли по кругу гоняет, короче просто дочитывая уже вкуриваешь че он хочет сказать. Норм. Яже не жалуюсь в принципе.
Начать просто было тяжело.
Аноним 16/03/21 Втр 21:22:29 1969072286
>>1969069
>хотя как я понял они руинять всю эту хуйню с генераторами и делают их по сути нахуй не нужными
Мякотка в том что ты можешь писать свои запускаторы генераторов, которые необязательно запускают промисы. Посмотри redux-saga например
Аноним 16/03/21 Втр 21:23:46 1969075287
>>1968960
Потому что аррей это объект, и у него есть проперти, в которых он хранит все что нужно и передает в колбеки если надо

class Array {
..items = [...];

..filter = (callback) => {
....for (let item of this.items) {
......callback(item);
....}
..}
}
Аноним 16/03/21 Втр 21:24:55 1969077288
Аноним 16/03/21 Втр 21:25:44 1969078289
Аноним 16/03/21 Втр 21:27:29 1969080290
>>1969075
>>1969070
Короче я уже нашел ответ на вопрос, пока пытался задать сам вопрос. Это просто пиздец. Всё, спасибо. Вопрос решен
Аноним 16/03/21 Втр 21:30:42 1969083291
>>1969021
>>1969027
Вы так говорите будто реакты-редаксы ускоряют загрузку или скорость работы страниц а не наоборот.
Только благодаря как раз таки скорости современного интернета и тому что у каждой собаки 3ГГц и 16 памяти современные фреймворки и существуют. SPA на реакт ты вообще хуй запустишь на каком-нибудь старом говне мамонта.
Аноним 16/03/21 Втр 21:30:43 1969084292
image 66Кб, 1157x841
1157x841
>>1969077
Для мальчиков, книга для мальчиков так и загугли.
Аноним 16/03/21 Втр 21:33:22 1969086293
>>1969083
Они работу самого сайта ускоряют, а не загрузку. Работу сайта, когда он уже загрузился. Если у тебя там одна страница буквально без каки-то интерактивных элементов, то тебе фреймворки не нужны
Аноним 16/03/21 Втр 21:34:30 1969088294
>>1969083
Хуй знает о чем ты, я говорю что скорость загрузки сайтов на компе через оптоволокно уже максимальна если у тебя 100МБ канал.
Ускорить загрузку помогут только - новые версии веб апи, новые браузеры, новые мощные сервера с хорошим откликом.

Для мобилок 5g нужен потому нужен что бы принимать без потерь волн - частоту, она более мощная чем предыдущие и интернет стабильнее будет, и скажем на мобилке условия будут приближены к стационарным пека с оптоволокном, не более.

Аноним 16/03/21 Втр 21:39:52 1969093295
>>1968994
>>Никто не будет эту книгу писать. Человеку, на это способному, проще свой фреймворк создать и пропихнуть, чем вкатунов учить.
Ну да, то то в джава мире половина книг это "строим корпоративные приложения". Вторая - шла фабрика через абстрактную фабрику к цепочке обязанностей.

>>Чё ты вообще несёшь? Какой другой объект?
Конкретней - другой прогер, решил доработать клиентский код на странице, читать что я там нахуярил и как оно работает - он в рот ебал. (Я хоть разообрался как вебпак работает, и +\- по классам все раскидал, но все же лапша.)
Написал он свой обработчик, который чето где то меняет html того элемента разметки на котором у меня висит обработчик. А у меня мой обработчик хуиту начал возвращать.Типа такого. Я не особо могу сформулировать, потому что из юз кейсов у меня пока - нихуя особого.

Просто после бэка с его ооп и прочим стремлением к низкой связности, меня беспокоит что состояние html элементов, из которых какие то обработчики могут данные тянуть - могут быть изменены хуй пойми как и кем.

Полагаю это хуйню либы типа реакта и решают.

Если че не батхерти, а то у вас в треде конечно клоунада
Аноним 16/03/21 Втр 21:41:03 1969095296
>>1969027
>Все остальное вторично
Чет я думаю что то о чем ты пишешь - вторично.
Первично структурирование кода, но я могу ошибатсья
Аноним 16/03/21 Втр 21:53:20 1969104297
>>1969044
И откуда этот колбэк берёт значения для сравнения?
Аноним 16/03/21 Втр 21:55:06 1969105298
>>1969095
Структурировать код можно и без фреймворка, но да, это то, что фреймворки делают очень хорошо
Аноним 16/03/21 Втр 21:55:22 1969106299
>>1969093
>Написал он свой обработчик
Ну если он трогает чужие элементы то очевидно же что распидорасит.
>после бэка
По аналогии, тебя не беспокоит что соседний сервис насрет тебе в базу в обход твоей бизнес логики?
Аноним 16/03/21 Втр 21:58:18 1969107300
>>1969083
>Вы так говорите будто реакты-редаксы ускоряют загрузку или скорость работы страниц а не наоборот.
Они скорость разработки ускоряют. Просто блять нахуячь какую-нибудь карточку товара с несколькими обработчиками на срякте, а потом напиши эквивалент на чистой ванилле без всяких хаков с инсертами шаблонных строк и сравни затраты времени.
Аноним 16/03/21 Втр 22:00:07 1969109301
>>1969106
>>Ну если он трогает чужие элементы то очевидно же что распидорасит.
Короче это вещь которую нужно принять как факт.
>>По аналогии
Я об этом думал, конечно сторонний сервис может мне данные поменять, но структуру то не изменит. Не типы данных, ни количество полей.

Тут же сторонний скрипт может тупо разметку удалить вообще. Ладно, я понял, спасибо.
Аноним 16/03/21 Втр 22:03:40 1969112302
>>1969107
Охуеваю ебаться с постоянными обращениями к дом, и блять залупой с навешиванием/убиранием обработчиков нна элементах которые динамически создаются и удаляются.
Хорошо хоть шаблонизатор хенделбарс жизнь облегчил пиздец.

Но вообще поебусь еще пару недель, да закачусь в реакт. Мне не SPA пилить, а всякие сложные формы с динамически подгружаемыми данными нужны.
>>1969109 - кун

Аноним 16/03/21 Втр 22:15:25 1969125303
>>1969093
>Ну да, то то в джава мире половина книг это "строим корпоративные приложения". Вторая - шла фабрика через абстрактную фабрику к цепочке обязанностей.
Это конечно хорошо, но мы говорим о жаваскрипт мирке, в котором за год может родиться и помереть целый фреймворк вместе со своими идеями. А неумершие могут полностью поменять парадигму, как например реакт с классов на хуки. Или выйти новая мажорная версия бандлера, с которой половина старых либ не дружит.
>Я не особо могу сформулировать, потому что из юз кейсов у меня пока - нихуя особого.
Берёшь html, лепишь на него элементы, через скрипт вешаешь на них обработчики и смотришь на результат.
>Полагаю это хуйню либы типа реакта и решают.
Реакт это дело не совсем решает, он больше как клиентский шаблонизатор, но конкретно что ты хочешь сделать - флюксо-подобное управление состоянием. И редукс является одной из реализаций этой парадигмы. И он не является частью реакта, хоть его часто в реактоподелия и пихают.
Аноним 16/03/21 Втр 22:20:13 1969129304
>>1969112
>>Но вообще поебусь еще пару недель, да закачусь в реакт. Мне не SPA пилить, а всякие сложные формы с динамически подгружаемыми данными нужны.

Бля, и в тоже время я навелосипедил нативным js такой уютный пагинатор загруженных данных, переход по страничкам результата - это ajax запросы. Было прикольно его васянить.
Аноним 16/03/21 Втр 22:33:39 1969145305
>>1969032
>>1969057
>>1968922
Что это за лютый говнокод? Блядь, неужели нельзя понятнее написать?
Нахуя городить все эти замыкания, если можно передавать в функцию просто больше аргументов?

Вообще не понимаю юзкейса этих замыканий, блядь.
Аноним 16/03/21 Втр 22:37:55 1969153306
Array prototype[...].png 18Кб, 737x474
737x474
>>1969145
>Нахуя городить все эти замыкания, если можно передавать в функцию просто больше аргументов?
Какие больше аргументов в колбэк фильтра, если он ожидает колбэк с определённым количеством аргументов?
Аноним 16/03/21 Втр 22:47:30 1969170307
>>1969077
Кайл Симпсон "Ты не знаешь Javascript, мразь!"
Аноним 16/03/21 Втр 22:50:17 1969174308
>>1969153
Ну типо несколько раз назначить внутренние функции, хз вообще как это называется r = k(0); s = r(1) d = s(). Ну а я типо прост беру и делаю r = k(0); s = l(1); x(r, s).

В любом случае, нахуя нужны замыкания? Нипанимат.
Аноним 16/03/21 Втр 22:56:50 1969183309
>>1967411 (OP)
Расскажите плез, где можно достатать весь список методов и вообще всего из чего состоит Реакт. На самом сайте Реакта в документации все этим методы как-то не структурированы, вплетены в графоманию.
Аноним 16/03/21 Втр 22:59:34 1969188310
>>1969107
Вот это верно.
И это единственное что современные фреймворки ускоряют, в угоду всего остального.

Но как только производительность начинает вставать серьёзной хронической проблемой (например объём данных в редаксе того же порядка что объём памяти на устройстве) все внезапно охуевают от точно что пути назад в ванилу уже нет.
Аноним 16/03/21 Втр 23:00:22 1969191311
>>1969174
Это и есть замыкание, просто неявное.
Аноним 16/03/21 Втр 23:07:07 1969200312
>>1969191
Нехуясе. Нахуй тогда писать изъебесто через return, если можно и без этого?
Аноним 16/03/21 Втр 23:11:49 1969207313
>>1969200
Ты и так возвращаешь функции, так что не более изъёбисто.
В теле этих функций один хуй будет что-то типа `return function(x)`;
Аноним 16/03/21 Втр 23:30:00 1969227314
1458400391512.png 6Кб, 205x224
205x224
>>1969207
Всё равно нихуя не понял. Почему нельзя через пикрелейтед всё делать? Если через return function(x){}, то меньше памяти и что-то с оптимизацией связанное?
Аноним 16/03/21 Втр 23:38:35 1969233315
>>1969227
Твой пример никакого отношения к теме не имеет.
Пример с фильтром можно было переписать как
const filter = inBetween(3, 6);
arr.filter(predicate);
Но тогда было бы слишком понятно.
Аноним 16/03/21 Втр 23:39:17 1969234316
Аноним 16/03/21 Втр 23:43:08 1969237317
>>1969233
Ну так я спрашиваю, нахоя нужны эти замыкания, если можно и без них?
В случае фильтра, я просто делаю filtered = function(a, b, arr){};
Аноним 17/03/21 Срд 00:00:52 1969249318
>>1969237
>Ну так я спрашиваю, нахоя нужны эти замыкания, если можно и без них?
Чтобы не городить аргументы.
Аноним 17/03/21 Срд 00:02:05 1969250319
Аноним 17/03/21 Срд 00:03:05 1969251320
>>1969249
А чем плохо городить аргументы?
Аноним 17/03/21 Срд 00:04:35 1969253321
Есть куча текста без пробелов обернутого в span
Когда засовываю его в некий контейнер то текст высирается в одну строку (конечно, пробелов-то нет), как заставить его делать переносы по строкам и уместиться в контейнер? Возможно кстати тут даже без жс обойтись выйдет
Аноним 17/03/21 Срд 00:08:22 1969255322
>>1969251
Тем что это тяжело поддерживать и функции становятся тяжелыми, зависимыми от кучи аргументов.

В примере с фильтром, предикат (функция, которая фильтрует элемент) можно переиспользовать в другом фильтре. Или объединять с другими предикатами. Или передавать как аргумент в другуюфункцию. И так дальше.


Аноним 17/03/21 Срд 00:18:36 1969259323
>>1969253
>как заставить его делать переносы по строкам
Каким строкам, если у тебя в тексте строк и переносов нет? Он должен за тебя распарсить текст и лайнбрейки вставить по смыслу или что?
>и уместиться в контейнер
Текст всегда умещается в родительский контейнер по умолчанию, тут уже надо спрашивать что ты с этим контейнером сделал, что у тебя не умещается.
Аноним 17/03/21 Срд 00:35:29 1969272324
Аноним 17/03/21 Срд 00:52:10 1969281325
>>1969251
Функция должна делать что-то одно хорошо.

Твой пример сверху вообще-то не просто "фильтр", это комбинация из нескольких операций. Больше-равно, меньше-равно, "и" и фильтр.

const smallerThen = (x, y) => x < y;
const biggerThen = (x, y) => x > y;
const both = (fn1, fn2) => (...args) => fn1(...args) && fn2(...args);
const inBetween = both(smallerThen, biggerThen);

// ...
arr.filter(inBetween(3, 6))

К счастью, многие вспомогательные функции уже написаны до нас, т.к. они постоянно используются. Ramda.js популярная библиотека сейчас, с помощью нее вышенаписанное можно написать сразу
const array = [1, 2, 3, 4, 5, 6, 7, 8];
filter(both(lte(3), gte(6)), array) // [3, 4, 5, 6]

Нужен ли подобный подход каждому проекту? Нет, для туду листа на реакте можно хоть через for цикл нахуярить. Но на больших проектах переиспользование функций уменьшает количество кода и позволяет делать его более выразительным и проще поддерживаемым.

Кроме того, подобный подход улучшает твое качество кода, ты пишешь меньше процедурных портянок и код становится более абстрагированным, когда ты начинаешь использовать функции как аргументы. Тогда и становится понятно, что без замыкания на ДЖС писать вообще было бы невозможно, пожалуй.
Аноним 17/03/21 Срд 02:10:29 1969312326
Нужно ли делать делегирование событий в реакте или просто на каждую кнопку вешать онклик на похуях? Какая практика обычно распространена? С одной стороны меньше обработчиков, с другой с кодом куда легче работать и проще манипулировать данными при клике
Аноним 17/03/21 Срд 02:31:08 1969316327
Аноним 17/03/21 Срд 02:39:52 1969319328
1501497590083.png 575Кб, 600x600
600x600
1558726469163.png 470Кб, 600x600
600x600
1507681857341.png 628Кб, 650x488
650x488
1499557667908.png 878Кб, 875x960
875x960
>>1969255
>>1969281
Прочитал интернеты. Моё мнение токово. Литературно. На этом всё.
Абсолютно все примеры можно заменить на более простые, более понятные, более производительные императивные.
Аноним 17/03/21 Срд 02:59:08 1969323329
1475418736596.png 12Кб, 455x277
455x277
>>1969255
>>1969281
Алсо, пока ебал вашу хуйнявые закрывания и калбэки, придумал такую хуйню. Пользуйтесь. Прикона вышло, нужная хуйня, мне как раз треба.
Можно даже этот ваш контекст устанавливать через это, но его по-разному можно, так что это чисто словарь функций для ебания байтов.
Аноним 17/03/21 Срд 03:15:52 1969326330
>>1969323
У тебя на скрине не байты, а числа в десятеричной системе, которые ты используешь как свойства объекта.

Теперь по крайней мере понятно почему ты ничего не понял про функции и замыкания, JS еще учить и учить. Алсо судя стилю письма тебе не больше 18 лет.

>простые, более понятные
Нет. Когда-нибудь возможно ты попадешь в большой проект и поймешь почему твои выглядящие "просто" бредовые идеи на самом деле говнокод.

>более производительные
Да. Но в 99% случаев разницы между наносекундами погоды не сделают, если только ты не пишешь под микроконтроллеры.
Аноним 17/03/21 Срд 07:52:28 1969379331
Кто шарит в graphql ? Есть несколько способов организовать структуру, какую лучше заюзать?
Аноним 17/03/21 Срд 08:30:59 1969389332
17/03/21 Срд 08:43:07 1969393333
Аноним 17/03/21 Срд 08:48:13 1969399334
>>1969312
Ты и так делаешь сорт оф делегирование, передавая колбэк потомкам.
Аноним 17/03/21 Срд 11:15:19 1969523335
15425220794420.jpg 88Кб, 800x1200
800x1200
Рубрика вопросы от вкатышей.
Как-то раз, 5 минут назад, забавы ради, зашёл в доку ramba. Функциональненько так, сигнатурки красивые вся хуйня. Есть вот, к примеру, функция toUpper, её исходник это мягко говоря пиздец. Оно ведь сложно ради ничего!
Вопрос зачем и нахуя?
Аноним 17/03/21 Срд 11:27:19 1969546336
>>1969523
Я не хочу тебе отвечать. Сможешь меня переубедить?
Аноним 17/03/21 Срд 11:32:56 1969549337
fsX0d3fs21dAf.jpg 30Кб, 382x486
382x486
Аноним 17/03/21 Срд 12:37:46 1969618338
Аноним 17/03/21 Срд 12:50:27 1969633339
>>1969618
>Катись обратно
А вот хуй.
>Там ровно одна строчка кода.
Угу, инвокер. Что бы что?
Аноним 17/03/21 Срд 13:25:05 1969675340
image.png 15Кб, 981x256
981x256
17/03/21 Срд 13:34:03 1969686341
>>1969675
Классо блядь порвало. Найс. С функциями для начала разберись
Аноним 17/03/21 Срд 13:35:09 1969688342
>>1969326
> У тебя на скрине не байты, а числа в десятеричной системе
Именно так в жс байты используются, лол. Просто массив в число (если нужны преобразования ради надёжности, например) или строку хуяришь и всё. Ты же массивы не можешь сравнивать. Естественно нужен еще один словарь длин и цикл преобразования бинарных массивов, которые примерно так же будут работать.
> которые ты используешь как свойства объекта.
Кстати, а это нормально вообще, так переменные в объектах назначать? Выглядит кросиво, бохато, но как-то неприятно. Оно же просто как ссылки на буферы памяти используется, да?
> Теперь по крайней мере понятно почему ты ничего не понял про функции и замыкания, JS еще учить и учить.
Не понимаю зачем они нужны. Нужно практическое применение, но на практике это лишний говнокод с говноконтекстом и падение производительности. Мне кажется даже вот такой словарь с функциями будет медленнее простой портянки сравнения строк через if. Но это не точно, объекты это центральное свойство жс, возможно интерпретатор тут всё же использует высокоэффективный код.
> Алсо судя стилю письма тебе не больше 18 лет.
Меньше фантазируй.
> Нет. Когда-нибудь возможно ты попадешь в большой проект и поймешь почему твои выглядящие "просто" бредовые идеи на самом деле говнокод.
Не, говнокод это когда ты читать не можешь и не вкуриваешь сколько контекста функция принимает и где, например. Или что она храниться в памяти всегда. Это реальный говнокод, когда сайтик хуево работает на i5.
> Да. Но в 99% случаев разницы между наносекундами погоды не сделают, если только ты не пишешь под микроконтроллеры.
Речь шла про сурьезное программирование, в котором огромное кол-во функций и их переиспользования. Очевидно ни про какие наносекунды речи не идёт уже, а модули работают уже микросекундное время.
Аноним 17/03/21 Срд 13:40:47 1969694343
>>1969686
Какие функции почему вебпак не видит мой экземпляр класса че за хуйня
Хотя в другом проекте точно также объявляю и все работает
Аноним 17/03/21 Срд 14:06:50 1969708344
>>1968838
А что будет происходить, если не секрет?
Аноним 17/03/21 Срд 14:46:43 1969741345
>>1969708
Он создаёт каждый раз новую область видимости, т.е. каждый раз будет работать scope.h, каждый раз будет работать аллокатор.
Для for(let ; ; ) это нормально, но если ты будешь внутри цикла что-то там создавать объемное.... Боюсь говнокод v8 к таким нагрузкам еще не готов....
Аноним 17/03/21 Срд 15:28:31 1969773346
>>1969741
Плохо, что сказать. У меня ОЧЕНЬ много кода когда я так делаю, ещё больше в forEach... А какая альтернатива есть тогда? Я не вижу чтобы тормозили проекты мои, но всё же.
Аноним 17/03/21 Срд 15:36:37 1969779347
Блять нестед арэй значит разбираем форич колбек с циклом, а в цикле рекурсия колебка. Каждый день что-то новое узнаю
Аноним 17/03/21 Срд 15:58:12 1969793348
image 13Кб, 223x226
223x226
У вас бывает такое что заебался кодить, читать и хочется упасть на кровать и спать, но ты понимаешь что это выбор слабаков, и продолжаешь кодить, марафоню уже две недели по 12 часов каждый день, сегодня понял что сил уже не осталось, и ничего кроме кода больше не интересно, но на него сил не осталось, кек. Эмоциональное выгорание типо.
Аноним 17/03/21 Срд 15:59:37 1969798349
>>1969793
> марафоню уже две недели по 12 часов
Завидую.
Аноним 17/03/21 Срд 16:01:07 1969801350
image.png 67Кб, 625x667
625x667
>>1967411 (OP)
Сап, программач. Очередной вкатывальщик с очередной тупой проблемой. Подключил файл со скриптами в <head>, написал простенькую херню по аналогии с тем, что когда-то писал на делфях, но в результате получаю пикрил. Может я чего-то не понимаю и функции в жс, например, не могут содержать больше одной строки кода?
Аноним 17/03/21 Срд 16:04:16 1969810351
Аноним 17/03/21 Срд 16:04:42 1969811352
>>1969810
Если по факту - то это хорошо, я ради этого и пришёл.
Аноним 17/03/21 Срд 16:06:27 1969821353
>>1969801
Google://js function syntax
Используй const или let для переменных.
Выведи копипастный код в отдельную функцию.
Аноним 17/03/21 Срд 16:06:55 1969824354
>>1969801
Скобеи у теья непрааильно расставоены и не закрыиы.


А в целом у теья тут новнокод, поэтому ты и не понимаешь ничего.
Аноним 17/03/21 Срд 16:13:11 1969834355
>>1969801
Говно и моча. Хочешь быстро вкатиться что бы писать по мелочи учи jquery, хочешь нормально выучить язык читай все что в шапке., книги, доку. И свою хуйню больше не кидай, пока хоть одну книгу не прочтешь.
Аноним 17/03/21 Срд 16:16:45 1969843356
>>1969773
Да ничего не делай, всем похуй, память резиновая.
Альтернатива - дрочи архитектуры при которых в циклах переменные не объявляешь. Хз где про это читать даже и к чему это относится.
Аноним 17/03/21 Срд 16:59:23 1969906357
>>1969801
Что за тег скрипт в js файле? Чо началось то?
Аноним 17/03/21 Срд 17:26:54 1969931358
>>1969801
Все у тебя нормально, ты забыл фигурные скобки для функции
Аноним 17/03/21 Срд 18:08:52 1969957359
>>1969793
Тоже так делал когда вкатывался, сейчас вообще охуеваю вспоминая откуда у меня силы брались на такую дисциплину.
Аноним 17/03/21 Срд 18:42:44 1969981360
>>1969125
напердолил уже несколько сложных приколюх на реакте без всяких редуксов, полёт нормальный
есть мнение что сам редукс лучше не использовать а использовать либы использующие редукс
Аноним 17/03/21 Срд 18:45:27 1969984361
А что нода реально работает только на одном ядре?
Аноним 17/03/21 Срд 18:59:27 1970001362
>>1969984
>A single instance of Node.js runs in a single thread. To take advantage of multi-core systems, the user will sometimes want to launch a cluster of Node.js processes to handle the load.
Аноним 17/03/21 Срд 19:21:25 1970020363
>>1969688
>Именно так в жс байты используются, лол. Просто массив в число (если нужны преобразования ради надёжности, например) или строку хуяришь и всё. Ты же массивы не можешь сравнивать. Естественно нужен еще один словарь длин и цикл преобразования бинарных массивов, которые примерно так же будут работать.
Екмаскрипт ему дал типизированные массивы для байтоёбства, пердолься на здоровье. Говорит, не хочу пердолиться нормально, хочу жрать говно и костылить псевдобайтоёбство высокоуровневыми конструкциями.
>Это реальный говнокод, когда сайтик хуево работает на i5.
Давай рассказывай, как тебе ш5 поможет для рантайма синхронного однопоточного языка.
Аноним 17/03/21 Срд 19:21:41 1970022364
>>1969675
короче все было из-за того что вебшторм создал мой файл с классом жсным, но в конце не было .js
и вот из-за этой хуйни вебпак его не видел
Аноним 17/03/21 Срд 19:22:16 1970023365
>>1969984
Документацию прочитал бы, там есть объекты которые позволяют запускать доп- процессы на ядрах.
Аноним 17/03/21 Срд 19:22:49 1970024366
Я обнаружил, что у меня в реакте есть два очень похожих компонента, хочу сделать из двух один. Вопрос в типизации.
Первый компонент принимает в качестве пропса функцию с аргументом и типом возврата, второй принимает без аргументов и возвращает нихуя, в остальном они похожи.
Пока что я написал 2 интерфейса:
interface One {
//blahblahblah
myFunc(abc: string) => number
}

interface Two {
//blahblahblah
myFunc() => void
}

и в пропсах: const Component = ({...blahblahblah, myFunc}: One | Two): JSX.Element => {}
Это норм?
И как можно проверить, какому интерфейсу удовлетворяют полученные пропсы? Я хотел бы на основании этого подключать другие стили.
Аноним 17/03/21 Срд 19:23:15 1970027367
>>1970020
>Екмаскрипт ему дал типизированные массивы для байтоёбства, пердолься на здоровье. Говорит, не хочу пердолиться нормально, хочу жрать говно и костылить псевдобайтоёбство высокоуровневыми конструкциями

Дрочился с этими массивами на ноде, пока васянил свою реализацию вэб-сокетов. Интересно
Аноним 17/03/21 Срд 19:25:00 1970028368
>>1970024
Никак, передавай тип еще, или назови функции по разному лел
Аноним 17/03/21 Срд 19:26:20 1970030369
>>1970027
А там разве json строкой срать нельзя? Не первый раз вижу всякие костыли вокруг ws.
Аноним 17/03/21 Срд 19:26:53 1970031370
>>1970028
Серьезно блять? Пиздец. Почему для этого не предусмотрели функцию? То есть даже костылями нельзя проверить, всегда придется руками передавать тип? Пиздец блять.
Аноним 17/03/21 Срд 19:28:44 1970032371
>>1970030
Хуета, берешь массив, потом считаешь количество хуеты в массиве.
если аргументов 4 то срешь говном, если 5 то жидко и вонюче пердишь и т.д.
Аноним 17/03/21 Срд 19:33:15 1970033372
>>1970030
Я дрочился с передачей бинарных файлов через сокеты. Картинки например. Чисто велосипедостроение. Там много всякого, мим-типы.
Отправил клиент бинарным потоком через сокет картинку - сервер принимает этот поток. Там много интересного пердолинга.
Аноним 17/03/21 Срд 19:43:34 1970038373
>>1969984
да, но можно заспавнить 10 процессов и посадить их по разным портам, но тут нужно писать балансировщик
Аноним 17/03/21 Срд 19:44:43 1970039374
>>1970038
а есть тесты,сколько нода может держать каналов вебсокетов?
Аноним 17/03/21 Срд 19:45:43 1970041375
>>1970039
ты амазон собрался писать на ноде?
Аноним 17/03/21 Срд 19:47:34 1970043376
>>1970041
чисто теоретический интерес))
Аноним 17/03/21 Срд 19:50:34 1970044377
>>1970043
это не от ноды зависит.
от лимита соединений в системе и доступной памяти.
Аноним 17/03/21 Срд 19:51:50 1970045378
Аноним 17/03/21 Срд 19:52:01 1970046379
Короче ебал я рот этого Кантора и того кто его в этот злоебучий фак добавил. Доставьте мне тем которые реально нужны в работе и юзаются довольно часто чтобы их знать. Лучше буду гуглить мдн чем читать эту хуйню с отвратной структуризацией материала. Всё что нужно кроме базовых фич которые во всяких сях имеются, т.е. какие-то там промисы, дереференс это понятно, пердолинг с домом - очевидно. Что там ещё?
Аноним 17/03/21 Срд 19:52:39 1970047380
>>1969984
Нет. У каждого инстанса ноды под копатом пул потоков, который используется для операций ввода вывода.

Веб воркеры это тоже отдельные треды.

Треды по логическим иядрам рапсредялет ОС.
Аноним 17/03/21 Срд 19:56:25 1970049381
Окей, я сделал 1 компонент из двух.
interface Props {
//blahblahblah
myFuncOne?: (abc: string) => number;
myFuncTwo?: () => void;
componentType: "TypeOne" | "TypeTwo"; --Это типо литерал стринг тайп или как-то так
}
В пропсах перечислены все возможные варианты, т.е. и myFyncOne и myFuncTwo. Это норм?
В самом компоненте есть onClick обработчик. Я хочу, чтобы в зависимости от componentType onClick был либо myFuncOne либо myFuncTwo, это норм, если я сделаю useState, в проверку типа в If, в зависимости от которой будет либо state=myFuncOne либо myFuncTwo и уже стейт будет передоваться в onClick.
Это норм вообще? Выглядит костыльно. Или лучше было бы не ебать мозг и оставить 2 компонента, которые отличаются 1й функцией?
Аноним 17/03/21 Срд 19:57:41 1970050382
>>1970046
бля ты совершаешь ошибку вкатуна, не получив должную базу
Аноним 17/03/21 Срд 20:02:16 1970054383
>>1970046
Бля, проиграл с нюфани, который 2 + 2 научился складывать, и теперь хочет "чего то применяемого в дела"
Аноним 17/03/21 Срд 20:02:36 1970055384
>>1970050
Там нет ничего хорошего. Почти для каждой темы что я ответственно прошёл и из которой пробовал решать шизо задания я после гуглил/смотрел выборочно у чувака из курса с юдеми.
Аноним 17/03/21 Срд 20:04:33 1970058385
>>1970054
А зачем на усредненом фронте ООП,асинк,коллбеки,объекты,если надо учить практич манипулирование DOM ом
Аноним 17/03/21 Срд 20:06:32 1970061386
>>1970058
>ООП
хз
>асинк
Запросы по апи.
>коллбеки
Бывает иногда нужно.
>объекты
Ебанулся?
>если надо учить практич манипулирование DOM ом
Манипулирование домом из ванили - мозгоебство.
Аноним 17/03/21 Срд 20:07:22 1970062387
>>1970046
Ты вкатывальщик? Освоишь Кантора, потрать день/два на чисто на верстку, затем недельку/две на реакт/вью/ангуляр и иди на собес уже
Аноним 17/03/21 Срд 20:12:11 1970064388
>>1970062
План примерно такой и был, но спустя 3 часа мозгоебли над сабжем я реально бугуртнул. Пойду прогуляюсь, наверну кофе и может пересилю себя да добью этот ужас.
Аноним 17/03/21 Срд 20:13:46 1970066389
>>1970031
Сдался в рабство тс-комплиятору по надуманной причине и под веянием моды - терпи, хули еще тебе делать. Жс-господа тем временем наслаждаются свободой без анальных пробок и передают в функции что хотят.
Аноним 17/03/21 Срд 20:15:32 1970067390
>>1970066
ТС это охуенно. Когда я писал на жс всегда получалась лапша ебаная вместо кода, а теперь я боле-лименья доволен собой.
Аноним 17/03/21 Срд 20:20:18 1970070391
>>1970046
Запили проект просто, да и узнаешь, что нужно на практике. Какой-нибудь просмотрщик 3D моделей на three. И опыт, и портфолио.
Аноним 17/03/21 Срд 20:21:43 1970071392
>>1970049
Вообще забей на мерж всего двух функций, особенно если нужно пихать литералы в аргументы. Это они сейчас отличаются только одной функцией, потом захочешь чего-нибудь ещё подкрутить в одном компоненте и это будет намного сложней сделать.
Аноним 17/03/21 Срд 20:22:52 1970074393
>>1970067
Теперь у тебя получается лапша кода вперемешку с лапшой типов?
Аноним 17/03/21 Срд 20:26:23 1970075394
>>1970067
Большинство ошибок возникают после компиляции, во время работы с апи и тд.
ТС не поможет тебе защититься от них. Но как инструмент для выработки правильных привычек в написании кода тс гуд
Аноним 17/03/21 Срд 20:27:05 1970076395
>>1970064
> План примерно такой и был, но спустя 3 часа мозгоебли над сабжем я реально бугуртнул.
Если где конкретно тупишь - юзай ютуб. Просто на джуновских собесах обычно ебут именно за самую базу за css спрашивали больше чем за реакт

> Пойду прогуляюсь, наверну кофе и может пересилю себя да добью этот ужас.
Норм, главное потом вернись за обучение
Аноним 17/03/21 Срд 20:31:14 1970082396
>>1967411 (OP)
Можно ли как-то обратиться к одному объекту апи если там нет айди (есть уникальный таймстамп)
Аноним 17/03/21 Срд 20:33:54 1970086397
image.png 13Кб, 503x198
503x198
Можно ли через Jest проверить, что приходящий объект (пикрелейтед) имеет все поля которые должен иметь, без расширения expect самому?
Аноним 17/03/21 Срд 20:39:35 1970088398
>>1970075
>Но как инструмент для выработки правильных привычек в написании кода тс гуд
Я об этом и говорю.
Аноним 17/03/21 Срд 20:40:19 1970089399
>>1970061
>Манипулирование домом из ванили - мозгоебство
нет
Аноним 17/03/21 Срд 20:54:41 1970092400
>>1970082
Забыл добавить что и документации никакой нет, это просто набор объектов в жсоне и я хочу по ссылке или как-то ещё подучить один объект
Они же нумеруются от 0 до конца
Аноним 17/03/21 Срд 20:57:11 1970093401
Сделал на реакте галерею пикч типа как у пинтереста, слитной плиточкой такой. В принципе не сложно, но она сука "мигала" при ререндере когда в настройках вид галереи переключаешь типа. Пока нашел решение проблемы чуть не закукарекал, ухбля.
Аноним 17/03/21 Срд 21:04:00 1970096402
>>1970092
Ну значит парси весь джейсон в массив и по нему пробегайся. Альтернатива - смотреть исходники сервака.
Аноним 17/03/21 Срд 21:10:18 1970103403
>>1970049
Прежде чем писать типы расскажи, как ты без componentType собирался определять будешь ты передавать в одну общую функцию аргумент или не передавать в одну общую функцию аргумент
Аноним 17/03/21 Срд 21:10:39 1970106404
jnvkWgRr400x400.jpg 26Кб, 400x400
400x400
>>1970058
>манипулирование DOM ом
пипец ты дурачок)
Аноним 17/03/21 Срд 21:13:21 1970107405
Батя за сегодня сделал колоссальное: написал собственный парсинг текста для проставления переносов. Нахуя спросите? Потому что css свойства word-wrap / word-break / hyphens не работали, но Батя не хуем деланный, Батя на хуя вертел всех и каждого
Аноним 17/03/21 Срд 21:15:09 1970109406
>>1970103
Никак, очевидно. К чему эти вопросы? Меня больше интересует вот эта часть:
>В пропсах перечислены все возможные варианты, т.е. и myFyncOne и myFuncTwo. Это норм?
В самом компоненте есть onClick обработчик. Я хочу, чтобы в зависимости от componentType onClick был либо myFuncOne либо myFuncTwo, это норм, если я сделаю useState, в проверку типа в If, в зависимости от которой будет либо state=myFuncOne либо myFuncTwo и уже стейт будет передоваться в onClick.
Аноним 17/03/21 Срд 21:16:14 1970110407
Аноним 17/03/21 Срд 21:26:15 1970114408
image.png 221Кб, 1094x1810
1094x1810
>>1970109
К тому что нужно ли оно, или есть уже другое (возможно вычисляемое) поле

Не над пихать пропсы в стейт
Аноним 17/03/21 Срд 21:42:38 1970125409
>>1970020
> Екмаскрипт ему дал типизированные массивы для байтоёбства, пердолься на здоровье. Говорит, не хочу пердолиться нормально, хочу жрать говно и костылить псевдобайтоёбство высокоуровневыми конструкциями.
Так из uint8 всё равно словарь придется делать, о чем ты нахой. Мне больше интересно эффективно ли хранить словарь в объекте.
> Давай рассказывай, как тебе ш5 поможет для рантайма синхронного однопоточного языка.
Система загрузку приложений на несколько ядер распределяет. И жопаскрипт будет на одном из. И желательно чтобы он не сжирал своими замыканиями и прочим говнокодом всё ядро.
Аноним 17/03/21 Срд 21:44:53 1970127410
>>1970125
>Система загрузку приложений на несколько ядер распределяет.
Ядра с потоками путаешь.
>И желательно чтобы он не сжирал своими замыканиями и прочим говнокодом всё ядро.
Ты конечно же тесты проводил, что твой говнокод дохуя быстрый без замыканий, да?
Аноним 17/03/21 Срд 21:50:07 1970135411
>>1970114
Ну, как-то так у меня и получилось. Я смотрю ты шаришь в реакте. Где можно вообще бест практис почекать по реакт + тс? И стоит ли ебать себе мозг с ворнингом об exhaustive deps с хуком юз эффект, если я 100% уверен, что все норм, просто эта хуйня глаза мозолит.
Аноним 17/03/21 Срд 21:51:18 1970136412
>>1970127
> Ядра с потоками путаешь.
Не суть, не суть. Суть в том что даже хром нагрузку по ядрам распределяет.
> Ты конечно же тесты проводил, что твой говнокод дохуя быстрый без замыканий, да?
Это в руководстве мозилы по замыканиям написано.
Аноним 17/03/21 Срд 22:02:07 1970146413
>>1970135
>>1970114

П.С. А вообще я вот что хотел:
Без передачи в пропсы type вычислить, к какому типу принадлежат пропсы. Типо:
type Props = X | Y
props: Props
И дальше блять я точно не знаю, вроде я чет такое читал на typescript.org
Идет проверка, удовлетворяет ли props интерфейсу X, и если да, то выполняется какой-то код. Блять надо посмотреть, что-то такое там точно было. И никаких дополнительных type= в компоненте не надо.
Аноним 17/03/21 Срд 22:03:50 1970148414
>>1970136
>Суть в том что даже хром нагрузку по ядрам распределяет.
Хром ничего "не распределяет", что ему система даст, то и будет жрать.
>Это в руководстве мозилы по замыканиям написано.
Наркоман, там только пример с фабричными функциями приведён, который перерос в классовый сахарок в свежем жс.
Аноним 17/03/21 Срд 22:18:29 1970152415
1607483801395.png 223Кб, 840x524
840x524
>>1970148
> Хром ничего "не распределяет", что ему система даст, то и будет жрать.
Че несешь, ты поехал что ли. Он давно уже вкладки по потокам и ядрам распределяет.
> Наркоман, там только пример с фабричными функциями приведён, который перерос в классовый сахарок в свежем жс.
У тебя шиза началась. Буквально.
> > It is unwise to unnecessarily create functions within other functions if closures are not needed for a particular task, as it will negatively affect script performance both in terms of processing speed and memory consumption.
Аноним 17/03/21 Срд 22:21:01 1970153416
>>1970146
>Идет проверка, удовлетворяет ли props интерфейсу X, и если да, то выполняется какой-то код
type guards
Но в них тоже надо что то чекать, типов то в рантайме нету
Аноним 17/03/21 Срд 22:27:57 1970155417
>>1970152
>Че несешь, ты поехал что ли. Он давно уже вкладки по потокам и ядрам распределяет.
Кого он тебе распределяет, наркоман? Он вкладки в отдельных процессах создаёт, а как эти процессы будут насиловать ядра и потоки решает система.
>It is unwise to unnecessarily create functions within other functions if closures are not needed for a particular task
Долбоёб.
Аноним 17/03/21 Срд 22:30:30 1970157418
>>1970153
Блять, да я ебал. Сложно было было что ли изначально типизацию к языку прикрутить. Пиздец блять боже, как же я завидую всяким сишарпам, где все няшно и изкаробки.
Аноним 17/03/21 Срд 22:35:19 1970159419
>>1970155
> Кого он тебе распределяет, наркоман? Он вкладки в отдельных процессах создаёт, а как эти процессы будут насиловать ядра и потоки решает система.
Создание вкладок в отдельных процессах это и есть распределение. Подходит немношк.
> Долбоёб.
> if closures are not needed for a particular task
Так вопрос с этого начинался.
Нахуя нужны замыкания на практике? В какой такой практической задаче (напоминаю, let уже изобрели) замыкания понадобятся и без них (напоминаю, любую рекурсию можно в цикл разложить) жить нельзя?
Аноним 17/03/21 Срд 22:51:46 1970169420
>>1970157
Тебе похоже чуть побольше надо из компонента вынести чем одну функцию. Но без примера тут хз
Аноним 17/03/21 Срд 22:54:46 1970172421
>>1970159
>Создание вкладок в отдельных процессах это и есть распределение.
Вкладки создаются, чтобы память хорошо сжиралась, а не для каких-то волшебных многопоточных оптимизаций.
>Нахуя нужны замыкания на практике?
Ты даже типичную промисифированную реализацию таймаута без захвата переменныхзамыканий не напишешь. Да и любую любой враппер в принципе.
>(напоминаю, любую рекурсию можно в цикл разложить)
В цикл можно хоть твою мамашу разложить, вот только не каждая реализация рекурсии циклом сохраняет оригинальную читабельность.
Аноним 17/03/21 Срд 22:56:32 1970173422
>>1970159
>Нахуя нужны замыкания на практике?
Зачем промисы если есть колбэки?
Зачем вообще колбеки если можно просто в цикле чекать интерапты
Нахуя ваши циклы, я могу просто goto!
Аноним 18/03/21 Чтв 00:11:33 1970223423
image.png 13Кб, 362x288
362x288
Аноны, делаю задачки по учебнику и не могу понять, че делает вот эта строка помеченная стрелкой.
Это я подсмотрел уже в готовых решениях как вывести итоговый результат. Поэтому и не понимаю.
Есть функция которая делает некое вычисление, в этой функции есть абстрактный(?) параметр sum
И только если в конце объявить что um(menu), то typeof выдаст мне желаемый результат. Что происходит когда срабатывает это um(menu)? из объекта menu подставляются данные?
Аноним 18/03/21 Чтв 00:17:29 1970227424
>>1970223
>Что происходит когда срабатывает это um(menu)?
umnojenie
Аноним 18/03/21 Чтв 00:34:07 1970235425
>>1970223
происходит 8-12 строка, нажми брейкпоинт в дебаггере да посмотри по шагам что происходит если читать не умеешь
Аноним 18/03/21 Чтв 00:35:39 1970237426
>>1970157
захуй она нужна, чтобы проблемы на ровном месте создавать?
Аноним 18/03/21 Чтв 00:36:38 1970238427
>>1970172
>В цикл можно хоть твою мамашу разложить, вот только не каждая реализация рекурсии циклом сохраняет оригинальную читабельность.
Можешь забить, чел живет в своем шизомире Даннинг-Крюгера т понятия не имеет как работает JS.
Аноним 18/03/21 Чтв 00:40:57 1970242428
>>1969633
Рамда в исходниках сложная чтобы соблюдать каррирование каждой функции и выжимать перфоманс (многие функции под капотом там через while написаны)
Аноним 18/03/21 Чтв 00:44:13 1970244429
>>1970157
Вообще-то сложно, типизация это отдельная сложная область. У тебя мало опыта просто.
Аноним 18/03/21 Чтв 01:36:52 1970272430
1477340676774.png 3Кб, 277x64
277x64
>>1970172
> Вкладки создаются, чтобы память хорошо сжиралась, а не для каких-то волшебных многопоточных оптимизаций.
Не суть, не суть. Главное что вкладки не в одном потоке и не на одном ядре работают.
> Ты даже типичную промисифированную реализацию таймаута без захвата переменныхзамыканий не напишешь.
А зачем нужен таймаут в промисах? Таймаут ведь имеет колдблек.
Промисы тоже ненужны, они создавались когда вебворкеров не было и изобретали шизофрению с псевдоасинхронностью. Сейчас же чисто поебать на блокирование потока которому предначертано быть блокированным и асинхронным.
> Да и любую любой враппер в принципе.
Вот тут точно нет необходимости в замыканиях.
> В цикл можно хоть твою мамашу разложить, вот только не каждая реализация рекурсии циклом сохраняет оригинальную читабельность.
Проблемы говнокодеров.

>>1970173
Вот действительно, зачем нужны промисы, когда есть коллбеки и нормальная асинхронность? Ну почти нормальная, изменения dom и так отделены фреймворком, так что похуй.

>>1970238
Ну так я и спрашиваю зачем это всё нужно, че объяснить-то сложно что ли.
Аноним 18/03/21 Чтв 01:46:19 1970274431
>>1970272
Алсо, на пике буквально единственная хуйня, которую хоть как-то можно прикрутить к использованию, за счет того что оно промисы возвращает и имеет в себе try...catch. Но даже оно заменяется обычным куском кода и try..catch.
Аноним 18/03/21 Чтв 04:48:35 1970315432
>>1970272
>Сейчас же чисто поебать на блокирование потока которому предначертано быть блокированным и асинхронным.

ты чё несешь поехавший.
А рендеринг у тебя в браузере когда происходит, если у тебя поток все время блокирован?
Аноним 18/03/21 Чтв 06:34:05 1970340433
>>1970242
>соблюдать каррирование каждой функции
>выжимать перфоманс
Выглядит как деление на 0
Аноним 18/03/21 Чтв 07:14:30 1970345434
>>1970272
>Не суть, не суть. Главное что вкладки не в одном потоке и не на одном ядре работают.
В этом-то и ссуть, что вкладко-процессы не из-за мифических оптимизаций добавили, а чтобы браузер не крашился при достижении 2ГБ/4ГБ памяти. Про охуенные многопокпоковые оптимизации уже после придумали, чтобы оправдать пожирание памяти.
>А зачем нужен таймаут в промисах? Таймаут ведь имеет колдблек.
Бля, ты долбоёб. Колбэки как раз насильно заставляют скоупы для замыканий плодить.Если ты конечно не любитель анонимки пихать в колбэки. Но тогда твои пуки про производительность ничего не стоят.
>Промисы тоже ненужны, они создавались когда вебворкеров не было и изобретали шизофрению с псевдоасинхронностью. Сейчас же чисто поебать на блокирование потока которому предначертано быть блокированным и асинхронным.
Земля тебе пухом, братишка. Интерфейс вебворкеров по дефолту на колбэках работает (а значит больше замыканий), не разделяет контекст с основным потоком и не может в конструкции, не представляемые джейсоном. То есть для всех небайтоёбских операций он добавляет оверхед в виде конвертаций сообщений на обоих концах. Да и требует ассинхронного взаимодействия, на заблоченном потоке ты даже воркеров не сможет пропукать.
Аноним 18/03/21 Чтв 08:23:44 1970369435
>>1970172
>В цикл можно хоть твою мамашу разложить, вот только не каждая реализация рекурсии циклом сохраняет оригинальную читабельность.
Что ты несешь, поехавший, рекурсия - это нечитабельный антипаттерн, которого нужно избегать всеми силами. Дрочат на него только вкатывальщики в ФП, которые написали свою первую функцию для чисел Фибоначчи, либо жсеры, которые реального ФП и его подходов в глаза не видели, и думают что ФП ЭТА КАГДА ФУНКЦИИ ПИШЫШЬ
Аноним 18/03/21 Чтв 08:58:31 1970387436
Аноним 18/03/21 Чтв 09:11:03 1970394437
Всем привет.

Подскажите, как работают побитовые операции в данной функции сложения? Чет не совсем догоняю этих хитростей побитовых.

function add (x, y) {
while (y != 0)
{
var carry = x & y;
x = x ^ y;
y = carry << 1;
}

return x;
}


В общем, хотелось бы получить более ли менее подробное объяснение.
Аноним 18/03/21 Чтв 09:38:35 1970407438
>>1970394
>var
Начитался, блядь, двачей.
Где хитрости то?
Сложение столбиком помнишь? Тут тоже самое, только в двоичной системе
x' = x ^ y складываем каждый разряд по модулю 2, в десятеричной ты складываешь по модулю 10
y' = (x & y) << 1 каждый разряд который у обоих чисел равен 1 переносим в старший
Очевидно, что x + y == x' + y'

Что непонятного то?
Аноним 18/03/21 Чтв 11:19:07 1970438439
promises.png 35Кб, 653x594
653x594
Аноним 18/03/21 Чтв 12:15:48 1970487440
image.png 48Кб, 738x490
738x490
Написал палиндром чекер. Что скажете? Что можно изменить в коде мб или типа того?
Аноним 18/03/21 Чтв 12:19:44 1970490441
>>1970058
Ты когда вкатился, болезный?
Какой еще DOM блять?
Аноним 18/03/21 Чтв 12:55:03 1970519442
>>1970487
Нахера каунтер, когда можно return false при первом же не совпадении?
И да просто сравни с реверсной строкой
Аноним 18/03/21 Чтв 12:55:50 1970520443
Аноним 18/03/21 Чтв 13:02:31 1970527444
>>1970114
Что за штука делает такие охуенные скриншоты?
Аноним 18/03/21 Чтв 13:12:49 1970533445
>>1970438
Ироничный try catch с колбеками
Аноним 18/03/21 Чтв 13:18:30 1970536446
Аноним 18/03/21 Чтв 13:21:14 1970543447
>>1970487
Укатывайся к себе в пхп тред, жс - язык для господ.
Аноним 18/03/21 Чтв 13:21:24 1970544448
Снимок экрана 2[...].png 163Кб, 1662x832
1662x832
Мужики, объясните долбоёбу почему функция работает не так, как надо.
В общем, функция должна возвращать массив с объектами, которые собираются внутри функции из массива с ключами и массива с массивами данных.
Моя хуйня возвращает массив с тремя одинаковыми объектами, значения которых взяты из последнего массива.
Аноним 18/03/21 Чтв 13:21:56 1970545449
>>1970519
ну да проебался с каунтером, да и итерировать там полмассива можно было. а просто сравнивать я не хотел
Аноним 18/03/21 Чтв 13:22:54 1970546450
Аноним 18/03/21 Чтв 13:26:08 1970550451
>>1970544
>Моя хуйня возвращает массив с тремя одинаковыми объектами
Нет, это один объект. Тебя не смущает, что ты не создаёшь новые объекты?
Аноним 18/03/21 Чтв 13:29:47 1970552452
>>1970544
Так трудно вместо i и j как-то осмысленно называть переменные? Ты три раза засунул один и тот же объект в массив, чего ты ожидал увидеть там?
Аноним 18/03/21 Чтв 13:31:04 1970553453
>>1970550
Всё, понял. Спасибо.
Аноним 18/03/21 Чтв 13:34:37 1970557454
>>1970487
>изменить в коде мб или типа того?
ну хуй знает
'race car'.match(/[^\s]/g).every((e,i,a) => e === a.reverse())
Аноним 18/03/21 Чтв 13:35:38 1970558455
Screenshot4.png 2Кб, 505x47
505x47
Аноним 18/03/21 Чтв 13:37:32 1970559456
Аноним 18/03/21 Чтв 13:40:54 1970560457
>>1970559
Ну я даже хз. Читабельность лучше как минимум?
Аноним 18/03/21 Чтв 13:45:17 1970562458
Аноним 18/03/21 Чтв 13:48:32 1970564459
>>1970562
что это за хуйня там у тебя понаписана
Аноним 18/03/21 Чтв 13:50:40 1970568460
>>1970564
В js нет встроенной функции reverse для строк, приходится так, да.
Ну а в функцию мне было лень оборачивать
Аноним 18/03/21 Чтв 13:51:55 1970569461
image[1].jpg 177Кб, 640x640
640x640
Аноним 18/03/21 Чтв 13:55:51 1970573462
>>1970568
Блять, читаю по диагонали, короче. Нахуя тебе реверс для строки, если ты получаешь массив из регулярки.
Аноним 18/03/21 Чтв 14:01:42 1970580463
>>1970573
Потому что декомпозиция
1 Профильтровать строку
2 Получить развёрнутую строку
3 Сравнить их
Аноним 18/03/21 Чтв 14:02:18 1970581464
image.png 112Кб, 1531x841
1531x841
Аноним 18/03/21 Чтв 14:12:40 1970583465
Screenshot11.png 6Кб, 673x167
673x167
Screenshot12.png 2Кб, 316x58
316x58
Аноним 18/03/21 Чтв 14:14:01 1970584466
>>1970580
Так ты делаешь тоже самое через реверс массива.
Аноним 18/03/21 Чтв 14:18:43 1970588467
>>1970584
>Так ты делаешь тоже самое
Угу, проверку на палиндром.
Аноним 18/03/21 Чтв 14:24:39 1970591468
Можете проверить, правильно ли я рассуждаю?:

Нужно getом забирать данные с бэка пока не придет stop в json
пагинации нет, данные приходят так называемыми пачками (batch)
Тоесть пришел ответ 10000 items, stop:false значит не весь, stop:true может быть когда придет 1000000 items
Понятно что ждать весь ответ не вариант, нужно показать юзеру результат уже из первой пачки

Проблема в том, что когда еще не все пачки загружены, юзер уже должен иметь возможность имеющееся данные отфильтровать
тоесть у меня в стэйте будет отфильтрованные данные в одной пачке, но с сервера следующая пачка придет неотфильтрованная

Как я думаю сделать:
если фильтр выбран применить его к уже загруженным данным, произойдет ререндер и они отобразятся в соответствии с условиями фильтра, это понятно
но нужно будет также начать применять фильтр к другим пачкам, сразу после загрузки, и только потом показывать данные (чтобы уже отфильтрованные отобразились), пока не знаю как реализовать, но мысль правильная? не подскажешь как лучше сделать? какие еще подводные могут быть?

Нужно сделать на редаксе, еще все покрыть тестами - thunk, если покрывать, слышал, что гемор ужасный, так ли это и почему? А saga типа норм, но с ней дело не имел.
Аноним 18/03/21 Чтв 14:41:41 1970599469
>>1970591
если юзер фильтр сбросит чо будешь делать?
Аноним 18/03/21 Чтв 15:01:42 1970613470
>>1970591
Сделай полоску загрузки, чтобы юзер понимал что данные не полны, фильтр запрети менять во время подгрузки, опционально кнопку отмены, если запросы рили долгие.
Аноним 18/03/21 Чтв 15:31:33 1970640471
>>1970599
>если юзер фильтр сбросит чо будешь делать?
Изначальное состояние будет доступно - в редаксе так можно, как я понимаю. В таком случае верну стэйт в исходный для загруженных данных, а к дозагружаемым просто не буду применять фильтр. Пойдет?
>фильтр запрети менять во время подгрузки
Может юзер захочет посмотреть отбор из тех 5тыс. items, что прогрузились (там с фильтрами результат будет 50-200), пока грузятся остальные 50тыс. Такое решение не пойдет - тут именно нужно чтобы моментально смотреть загруженные данные с нужными фильтрами, ничего ждать нельзя.
И вообще, думаю, что первые 5-10 сек. запретить применять фильтр - плохой пример UX в нынешнее время, где все скорость решает. Юзер к конкуренту уйдет, потому что "там не тормозит".
Аноним 18/03/21 Чтв 15:36:11 1970645472
>>1970640
У тебя не на сервере фильтрация что ли?
Аноним 18/03/21 Чтв 15:38:20 1970647473
>>1970645
Именно так. Фильтрация на клиенте. очень толстый клиент
Аноним 18/03/21 Чтв 15:41:43 1970651474
>>1970640
Тормозит не значит долго.
Аноним 18/03/21 Чтв 15:43:04 1970652475
>>1970315
Кек. Вебворкер и рендеринг это отдельные потоки.

>>1970345
> В этом-то и ссуть, что вкладко-процессы не из-за мифических оптимизаций добавили,
Какая разница? Речь шла о том, что хром использует потанцевал ш5.
> Бля, ты долбоёб. Колбэки как раз насильно заставляют скоупы для замыканий плодить.Если ты конечно не любитель анонимки пихать в колбэки. Но тогда твои пуки про производительность ничего не стоят.
Проиграл с этой хуйни. Зачем мне плодить какие-то там колбеки или промисы? Вся асинхронная работа происходит в разных потоках, вебворкер сам пропукивает пропуки для стейта и тасков.
Для всего остального давно придумали различные реализации реактивности, которые кстати работают на коллбеках в большинстве случаев, тому что ромисы имеют собственную петлю, отличную от коллбеков.
> на заблоченном потоке ты даже воркеров не сможет пропукать.
Зачем пропукивать воркеров? Параллелизм не так работает, пропуки это сообщения между тредами.

>>1970438
Им дали вебворкеры для нормальной параллельной асинхронной работы, нет, промисированную псевдоасинхронищу жрать вкуснее. Нахуя нужно чтобы интерфейс без лагов был? Нее, это не про говнокодеров, ща нахуярим.then(чтобы скроллинг лагал).
Пиздец просто.
Аноним 18/03/21 Чтв 15:53:10 1970663476
>>1970651
Завернут на код ревью так. Компания дрочит на скорость, как никто другой. Тут уже в первой пачке данных фильтруй нехочу, а ты предлагаешь ждать, чтобы все пришли - уже ПРОСАДКА в эффективности, выражаясь их языком. Недаром бэк так спроектирован - пачками отдавать, наверное.
Аноним 18/03/21 Чтв 16:09:38 1970683477
>>1970663
>>1970647
>>1970591
Генератор фильтра должен быть доступен всегда. Т.е. фильтр генерируется на сервере и отдается клиенту, клиент может начать фильтровать не имея данных вообще.
Как клиент, так и сервер имеет свой экземпляр фильтр, который синхронизируются между клиентом и сервером.
Данные фильтра и сами данные идут двумя отдельными запросами.
Алсо, сейчас пишу json-фильтр с байтовым потоком и байтоебством, может покажу потом что вышло и какяэтавижу.
Аноним 18/03/21 Чтв 16:19:11 1970690478
Я не понимаю рекурсию
Аноним 18/03/21 Чтв 16:27:59 1970695479
>>1970690
Костя Базров научит тебя рекурсии. Лучший учитель имхо
Аноним 18/03/21 Чтв 16:31:17 1970696480
>>1970683
>фильтр генерируется на сервере и отдается клиенту
Анон, условия придумываю не я. В своем ОП-посте я их изложил. Или я не так тебя понял?
Фильтрации на бэке нет, отдаются пачками данными.
>клиент может начать фильтровать не имея данных вообще
Да, именно. Врубаешь фильтр(ы), к данным которые пришли он применяется, потом рендерится.
Аноним 18/03/21 Чтв 16:35:46 1970698481
>>1970652
>Какая разница? Речь шла о том, что хром использует потанцевал ш5.
Потанцевал в память срать? Вроде ты тут над байтиками трясёшься, но при этом защищаешь всирание памяти браузером.
>Вся асинхронная работа происходит в разных потоках
Ты дебил или вкатыш?
>вебворкер сам пропукивает пропуки для стейта и тасков
Ух какой волшебный воркер, ничего не делаешь, а всё есть. Ты на синтаксис его инициализации, вызова и взаимодействия посмотри, дебил блять.
>Для всего остального давно придумали различные реализации реактивности, которые кстати работают на коллбеках в большинстве случаев, тому что ромисы имеют собственную петлю, отличную от коллбеков.
Это не из-за какой-то волшебности колбэков, которые кстати срут ненавистными тобой замыканиями, а потому что эти либы были написаны до промисов.
>Нахуя нужно чтобы интерфейс без лагов был? Нее, это не про говнокодеров, ща нахуярим.then(чтобы скроллинг лагал).
Ты случаем не из пыхатреда? Скроллинг у тебя и на генераторах, и на колбэках будет лагать, и даже на воркере, у которого кстати доступа к дому нету. Нормальный многопокпок у него на воркерах, одна история охуительней другой.
Аноним 18/03/21 Чтв 16:38:47 1970700482
>>1970696
> Или я не так тебя понял?
Не, всё верно, я предлагаю въебать фильтрацию и на беке и на клиенте.
> Анон, условия придумываю не я.
Так возьми и придумай. Скажи "птсс, если на беке будет фильтрация, то производительность будет в тысячу раз лучше и денег будет меньше".
> Да, именно. Врубаешь фильтр(ы), к данным которые пришли он применяется, потом рендерится.
Не, смотри. Ты берешь полный набор данных, которые есть на беке. И генерируешь фильтр. И отсылаешь его на клиент. Т.е. фильтр уже сгенерирован будет и клиент уже может щелкать по клавишам, пока данные только идут.
А новые данные просто проходят через существующий фильтр, когда они приходят на клиент. Можно на каждый пакет данных навесить хэш фильтра, чтобы знать применялся к ним конкретный фильтр или нет. Если эти пакеты хоть как-то структурированы, офк.
Аноним 18/03/21 Чтв 16:49:14 1970703483
Анусы, делаю в одном файле export default {a, b}, в другом import {a, b} from хуй. И не работает. Я понимаю, что это не по спеке, но в вебпаке это работало раньше точно т.к. он это превращал в простой var {a, b} = webpack_module_import(). А теперь не работает. Это новая версия пофиксила и детектит, когда я пытаюсь сделать named import из модуля, где только дефолтный есть, или я где-то проебываюсь?
Аноним 18/03/21 Чтв 17:03:18 1970709484
>>1970703
Делай именованные экспорты и не выёбывайся.
Аноним 18/03/21 Чтв 17:11:53 1970714485
image.png 90Кб, 891x568
891x568
Функция конвертирует обычные цифры в римские. Рейтаните
Аноним 18/03/21 Чтв 17:18:00 1970720486
>>1970709
Но их не я делаю, css-loader с modules: true
Аноним 18/03/21 Чтв 17:27:45 1970725487
>>1970720
Значит создавай тикет в репе вебпака/лоадера.
Аноним 18/03/21 Чтв 17:29:03 1970726488
>>1970725
А надо ли? Я помню, что это работало, а сейчас хз, может это я просто в конфиге где-то проебался. Кто кодит с вебпаком и модулями, у вас получается имена классов как named export импортить?
Аноним 18/03/21 Чтв 17:35:16 1970729489
>>1970700
>Ты берешь полный набор данных, которые есть на беке. И генерируешь фильтр. И отсылаешь его на клиент. Т.е. фильтр уже сгенерирован будет и клиент уже может щелкать по клавишам, пока данные только идут.
Я что-то не раздуплюсь - если на бэке нет фильтра, почему на фронте только не использовать этот подход? Ну тоесть фильтр не выбран - все так и остается - данные рендерятся в порядке, как на бэке они, выберешь фильтр - загруженные данные фильтруются, происходит перерендер, новые через фильтр проходят; если не загружено ничего, а клиент успел щелкнуть по фильтру, соответственно данные проходят через фильтр прежде чем отрендерятся.
Аноним 18/03/21 Чтв 17:35:34 1970731490
>>1970698
> Потанцевал в память срать? Вроде ты тут над байтиками трясёшься, но при этом защищаешь всирание памяти браузером.
Что за хуйню ты несешь блядь каждый раз? Речь была про распределение жс по ядрам. Какая память, блядь?
> Ты дебил или вкатыш?
> Ух какой волшебный воркер, ничего не делаешь, а всё есть. Ты на синтаксис его инициализации, вызова и взаимодействия посмотри, дебил блять.
Сказать-то что можешь или только жидко пукать?
> Это не из-за какой-то волшебности колбэков, которые кстати срут ненавистными тобой замыканиями, а потому что эти либы были написаны до промисов.
> эти либы были написаны до промисов.
> до промисов
Ахах. Дебил, блядь, промисовый, промисы 9 лет в либах существуют и 6 лет как стадарт.
> Ты случаем не из пыхатреда? Скроллинг у тебя и на генераторах, и на колбэках будет лагать, и даже на воркере, у которого кстати доступа к дому нету. Нормальный многопокпок у него на воркерах, одна история охуительней другой.
Промисовый, смотри.
Основной поток - для рендера, чтобы UI не лагал никогда. Асинхронные потоки - для асинхронных событий.
Доступно излагаю?
Аноним 18/03/21 Чтв 17:39:51 1970736491
Аноны, вот у нас для вызова API использовали XMLHttpRequest, потом для облегчения JQuery, теперь fetch, а что использовали и используют для этих целей в PHP? Раньше file_get_contents а теперь curl_init? Я всё правильно нагуглил?

А как они поступают если нужно получить данные сразу с нескольких API и вывести в нужном порядке? То есть если 1 API недоустпен - вывести данные со 2API и т.д.
Аноним 18/03/21 Чтв 17:53:40 1970745492
>>1970731
>Что за хуйню ты несешь блядь каждый раз? Речь была про распределение жс по ядрам. Какая память, блядь?
Нести хуйню про ядра начал тут ты, потому что обосрался. Я тебя просто поправляю.
>Сказать-то что можешь или только жидко пукать?
То есть ты вообще не понимаешь, что несёшь полную хуйню.
>Ахах. Дебил, блядь, промисовый, промисы 9 лет в либах существуют и 6 лет как стадарт.
Ну да, ведь либы стали писать ещё до стандартизации промисов, да?
>Основной поток - для рендера, чтобы UI не лагал никогда. Асинхронные потоки - для асинхронных событий.
Это у тебя в пыхопитоне такое разделение? Пиздуй-ка обратно в свой загон, нам жабадебилов с ООП головного мозга и так хватает.
Аноним 18/03/21 Чтв 17:56:10 1970749493
>>1970736
Ты вообще про что? На клиентской стороне ты всё так же фетчем можешь запрашивать, а на ноде фетча и не было, кроме отдельного пакета.
Аноним 18/03/21 Чтв 17:56:50 1970750494
вас-саляму алейкум братья, кто знает, в рамадан харам код на reacte писать ? Если да, то на чистом JS можно ?

Аноним 18/03/21 Чтв 17:57:43 1970751495
>>1970750
Только на brainfuck'e, транслируемом в es3
Аноним 18/03/21 Чтв 18:03:01 1970755496
>>1970749
>Ты вообще про что?
Про то что как на PHP парсят API, с помощью file_get_contents и curl_init? Больше способов нет?
Аноним 18/03/21 Чтв 18:13:41 1970767497
>>1970652
Ты долбоёб братишка, промисы делают код читаемым и понимаемым то есть редактируемым и поддерживаемым, чо у тебя там лагает выброси свой пентиум и купи компьютер.
Аноним 18/03/21 Чтв 18:15:16 1970768498
Аноним 18/03/21 Чтв 18:16:00 1970770499
>>1970640
храни нефильтрованое фильтруй в рендере хули ты изобретаешь там
Аноним 18/03/21 Чтв 18:16:38 1970772500
>>1970745
> Нести хуйню про ядра начал тут ты, потому что обосрался. Я тебя просто поправляю.
Распределение вкладок по ядрам есть? Есть. Дальше пошли твои маняманевры и подрывы.
> То есть ты вообще не понимаешь, что несёшь полную хуйню.
Ну так поясни и не пукай. Но ты не можешь, потому что очевидно хуйню несешь ты.
> Ну да, ведь либы стали писать ещё до стандартизации промисов, да?
Не, либы которые я использую написаны в 2019.
> Это у тебя в пыхопитоне такое разделение? Пиздуй-ка обратно в свой загон, нам жабадебилов с ООП головного мозга и так хватает.
Это разделение не_у_говнокодеров, мань. И нужно чтобы поток UI не лагал, как у говнокодера.

>>1970767
Ох уж эти проблемы говнокодеров, которые писать не могут без промисов. Ору нах
Аноним 18/03/21 Чтв 18:18:05 1970774501
34896523957.png 13Кб, 862x129
862x129
Аноним 18/03/21 Чтв 18:30:02 1970791502
>>1970772
>И нужно чтобы поток UI не лагал, как у говнокодера.
Братишка, даже там, где для распаралеливания уже за тебя сделано всё, и у тебя есть и потоки, и удобные абстракции над ними из коробки, и возможность распаралелить каждый пук от парсинга жсона и его вставки в базу до подсчёта высоты текста в UI (и даже возможность паралелить рендеринг UI!!!, хотя и не из коробки, и получать 120 фпс на ебаном айфоне 4с, хуяря код в декларативном стиле на флексбоксе) все всё делают в главном потоке нахуй.

Просто ирл всем тупо похуй, такие вот объебосы (а их большинство) берут самый медленный лэйаут, прикованный костылями к главному треду, парсят жсон на мэин треде, там же ходят в базу и пишут в/читают с бд там же — и у всех отмазки уровня "ну бизнесу жи нормальна, когда ебать начнут тогда и начну шевелиться", и потом у нас 4 из 5 приложений лагают на ровном месте как говно, лол.

мимо-айосер-увидевший-пост-на-главной
Аноним 18/03/21 Чтв 18:31:11 1970792503
>>1970791
К чему я это — просто забей на этих долбоёбов и расслабься, твоё портфолио если будешь всё делать качественно всё равно тебя протащит вверх через них, лол.
Аноним 18/03/21 Чтв 18:47:27 1970805504
>>1970792
Двачую.

мимокрок потратитл время на вылизывание всех своих пет-проектов перед собесами, после чего успешно был принят на галерку
Аноним 18/03/21 Чтв 18:55:11 1970809505
Мне лень читать весь тред, объясните, о чем срач. Кто вообще воркеры использует для чего? Я думал это для долбаебов, которые хотят протеины на жсе во фронте вычислять или ещё такую другую тяжелую хуйню. А почему бразуеры вообще не делают параллельный тред для всего, кроме работы с DOM'ом, нахуй все эти воркеры?
Аноним 18/03/21 Чтв 18:58:55 1970811506
>>1970792
> просто забей на этих долбоёбов и расслабься
Да и так сижу проигрываю над этой хуйней. Отрицание вебворкеров, лол, ну и пиздец.
> твоё портфолио если будешь всё делать качественно всё равно тебя протащит вверх через них, лол.
Предлагали уже купить проекты из портфолио, правда с полными правами. Планирую сделать полноценную CMS и продавать их тащемта, отличный запасной план если другие проекты будут хуево денег приносить
Аноним 18/03/21 Чтв 19:00:51 1970814507
>>1970809
>А почему бразуеры вообще не делают параллельный тред для всего, кроме работы с DOM'ом, нахуй все эти воркеры?
Потому что это нихуя не тривиальная задача, мозилла пыталась это дело ресёрчить https://ru.wikipedia.org/wiki/Servo_(движок) , но новая директор_ка закрыла этот проект нахуй, поэтому всё надо будет делать руками ближайшие 5-10 лет.
Аноним 18/03/21 Чтв 19:09:10 1970820508
Аноним 18/03/21 Чтв 19:30:26 1970829509
>>1970690
Анон доходчиво объяснял >>1970829
Аноним 18/03/21 Чтв 19:33:31 1970830510
>>1970829
У меня от таких объяснений Uncaught RangeError: Maximum call stack size exceeded
Аноним 18/03/21 Чтв 20:53:04 1970896511
>>1970772
> не могут без промисов
а зачем мне писать без них?
Аноним 18/03/21 Чтв 20:55:41 1970901512
>>1970896
Чтобы у нанооптимизатора интерфейс на 2мс не подвис из-за того, что ты джейсон в основном треде парсишь.
Аноним 18/03/21 Чтв 21:10:26 1970913513
>>1970772
>Распределение вкладок по ядрам есть? Есть. Дальше пошли твои маняманевры и подрывы.
Распределение вкладок по процессам, дебилоид. И распределили их не с целью, чтобы i5 использовать по полной.
>Ну так поясни и не пукай. Но ты не можешь, потому что очевидно хуйню несешь ты.
Что тебе пояснять если ты хуйню несёшь? С тобой и так всё понятно.
>Не, либы которые я использую написаны в 2019.
Ну нихуя себе, ты аж целые либы используешь, которые даже не на промисах написаны. Это конечно невъебенный пруф.
>Это разделение не_у_говнокодеров, мань.
Это разделение в твоём мирке, не имеющее отношение к движку.
>>1970809
>А почему бразуеры вообще не делают параллельный тред для всего, кроме работы с DOM'ом, нахуй все эти воркеры?
Потому что полное распараллеливание - рэйс кондишн через рэйс кондишн.
Аноним 18/03/21 Чтв 21:10:51 1970914514
>>1970809
Воркеры это просто потоки. Ньюфаги, и всяческого рода поехавшие, думают что асинхронное событийное погроммирование не блокирует поток js, но на самом деле он блокируется в момент исполнения промиса. В итоге - лаги интерфейса и всё такое. асинхронщина нужна для работы с несколькими внешними интерфейсами, но это редкий случай микросервисов/внешних сервисов
Чтобы подебить эти проблемы блокирования, придумали вебворкеров - отдельные потоки для интерфейса, ядер, сети, всего i/o в целом. Это всё уже давно используется (нет) на нативе, с недавнего времени и в вебе (нет).
Самый шик это конечно servo. Но это уже будущее нахуй, которое успешно проебали. Сообщество js и веба уже глубоко консервативно, монополизировано и обоссано шизоидами, никаких изменений не намечается, анон >>1970814 писал уже. Даже фреймворки с многоядерной работой на вебворкерах это редкость.

>>1970896
Чтобы не быть говнокодером, очевидно.

>>1970901
Почему нельзя просто писать нормальный код? Неужели это настолько сложно?
Аноним 18/03/21 Чтв 21:12:40 1970917515
>>1970913
> Это разделение в твоём мирке, не имеющее отношение к движку.
На самом деле вебворкеров не существует?
Ты таблетки забыл принять.
Аноним 18/03/21 Чтв 21:21:19 1970923516
>>1970914
>Неужели это настолько сложно?
Да, я не хочу учить воркеры, эти их ебанные send, onmessage, или как там они сообщениями меняются. Каждый выпук делать как обработчик событий, ну ебаный в рот, мне так лень. И нахуя? Даже на моем некропк почти не лагает ни один сайт, кого ебет, что там 50мс жс какой-то занял, люди это даже не замечают.
Аноним 18/03/21 Чтв 21:54:03 1970951517
Аноны хочу сделать на сайте функцию закладок которые будут храниться в локалсторейдж, я так понимаю мне надо сделать кнопку в каждой новости которая будет сохранять айдишник, название и ссылку на новость в массив, который мне надо будет конвертировать в строку и хранить в значении в локасторейдж, и на специальной странице конвертировать эту строку обратно в массив и через цикл выводить его значения, всё так?

Я скрипт-то уже написал, так вот, массив получается вида
{
['id25', 'name25', 'url25'],
['id7', 'name7', 'url7'],
['id52, 'name52', 'url52']
}

Как видно айдишники в разброс, но блять после их парсинга из локасторейдж и привидения в массив они сука сортируются по айди и выводятся не сперва новодобаленные закладки, а по номеру айди, что за прикол какого хуя и почему так происходит?

Конвертирую их в строку с помощью JSON.stringify(), а обратно в массив с помощью JSON.parse(), я всё понятно объяснил? Как заставить их храниться и выводиться новые в начале, старые в конце?
Аноним 18/03/21 Чтв 21:58:37 1970956518
>>1970951
Немного проебался с описанием массива, он выглядит вот так
{
25:['id25', 'name25', 'url25'],
7:['name7', 'url7'],
52:['name52', 'url52']
}
И сортируется по цифрам при добавлении новой новости и парсинге его в строку или обратно для вывода на странице закаладок, заебал уже
Аноним 18/03/21 Чтв 22:00:43 1970960519
>>1970951
Хэш таблица - не упорядоченная структура данных, почему ты обратного ожидал?
Хочешь порядка - храни в упорядоченной, массиве
Аноним 18/03/21 Чтв 22:11:43 1970975520
>>1970960
Не понял немного, как понять упорядочанный массив?

Сейчас ещё раз потыкал скрипт и понял что вся проблема в моменте добавления новости в массив, я это делаю так
bookmark[5] = ['name5', 'url5']
И о чудо эта хуйня добавляется в начало как с самым маленьким айди, а не в конец как самая последняя добавленная, я так понимаю проблема в этом, я неправильно добавляю новое значение в массив или нужно отказаться от айди? Тогда я не вдупляю как добавлять новое значение, просто кидая его в начало или конец массива
Аноним 18/03/21 Чтв 22:52:16 1971009521
>>1970923
> учить воркеры
Проиграл
Аноним 18/03/21 Чтв 22:52:49 1971010522
Аноны перефразирую вопрос закладки на localStorage

Есть массив который я паршу туда и обратно с помощью JSON.stringify() и JSON.parse() чтобы сохранить его как строку в localStorage, в массиве хранятся айди новости, название и ссылка на новость, массив получается вида

{
25:["name25", "url25"],
7:["name7", "url7"],
52:["name52", "url52"]
}

Добавляю новые данные я туда вот так

bookmark[5] = ['name5', 'url5']

После таких действий он автоматически сортируется по айди и получается вида

{
5:["name5", "url5"],
7:["name7", "url7"],
25:["name25", "url25"],
52:["name52", "url52"]
}

Как мне добавить новую новость ["name5", "url5"] в конец, я реально запутался пиздец, айдики можно тоже во внутрь убрать, типа ["id5", "name5", "url5"], то есть в итоге после добавления новой новости в закладки должно получиться

{
["id25", "name25", "url25"],
["id7", "name7", "url7"],
["id52", "name52", "url52"],
["id5", "name5", "url5"]
}

Но как это сделать? Как сделать добавление нового значения без указания айди типа bookmark[n] =
Аноним 18/03/21 Чтв 23:14:52 1971024523
>>1971010
>массив получается вида
>
>{
>25:["name25", "url25"],
>7:["name7", "url7"],
>52:["name52", "url52"]
>}
>
Это объект
Аноним 19/03/21 Птн 00:01:00 1971055524
>>1971009
Ну там ебаные onmessage и прочее
Аноним 19/03/21 Птн 00:18:14 1971070525
image.png 9Кб, 293x264
293x264
>>1971024
>Это объект
Да анон так и есть, просто я сходу не вспомнил, давно уже не баловался JS

>>1971010
Бля аноны нашёл на learn.javascript
>Упорядочены ли свойства объекта? Другими словами, если мы будем в цикле перебирать все свойства объекта, получим ли мы их в том же порядке, в котором мы их добавляли?

>Короткий ответ: свойства упорядочены особым образом: свойства с целочисленными ключами сортируются по возрастанию

То есть эта хуйня и правда сортируется по номеру или алфавиту при добавлении новых свойств в объект, я проверил даже, как обойти эту хуйню? Чтобы новые свойства добавлялись в начало или конец как мне нужно?
Аноним 19/03/21 Птн 00:22:39 1971072526
>>1971070
> Чтобы новые свойства добавлялись в начало или конец как мне нужно?
Это объект, у него нет начала или конца. Вставляй ключ order в котором будет именно массив а не ебаный объект с idшками упорядоченными.
Аноним 19/03/21 Птн 00:29:18 1971078527
image.png 10Кб, 412x205
412x205
Аноним 19/03/21 Птн 01:21:58 1971093528
Аноны, а например есть массив

test = [a, b, c]

Как удалить значение с ключём 1? То есть элемент b? Задать ему пустоту?

test[1]=""?
Аноним 19/03/21 Птн 01:26:06 1971094529
>>1971093
test.slice(0,1).concat(test.slice(2));
Аноним 19/03/21 Птн 08:16:36 1971147530
Аноним 19/03/21 Птн 08:59:06 1971154531
function updateDOM(providedData = data) {
...
}

Аноны, что это за синтаксис в аргументе? Что за присваивание? Причем эта функция в коде везде вызывается вообще без аргументов.
Аноним 19/03/21 Птн 09:54:05 1971171532
Аноним 19/03/21 Птн 11:55:17 1971233533
image.png 4Кб, 324x49
324x49
image.png 9Кб, 505x121
505x121
image.png 10Кб, 667x73
667x73
React-Redux гуру помогите.
Не могу понять откуда ебаная вложенность в стэйте.
Аноним 19/03/21 Птн 11:59:04 1971234534
Аноны, пиши в этот тред а не тематический пушто вы мне как родные стали. Позвали на обучение в дата саенс. Прошел собес. Нужно знать питон а ЖС все что я знаю. Но по шпаргалкам худо бедно быстренько подтянул питон и прошел первичный отбор. Дальше будет обучение а потом экзамен. Стоит ли браться за это учитывая что знаю хуево как питон так и математику но могу быстро подтянуть
Аноним 19/03/21 Птн 12:19:29 1971249535
15282252352360.jpg 205Кб, 900x825
900x825
>>1971234
>знаю хуево математику но могу быстро подтянуть
Аноним 19/03/21 Птн 12:31:38 1971256536
image 134Кб, 512x512
512x512
Аноним 19/03/21 Птн 12:34:54 1971259537
>>1971234
Вот почему корзины такие не решительные? Вот блять твою судьбу должен рандомный человек решить?

Иди если бесплатно, хоть опыт получишь, не понравится сделаешь вывод - на бесплатные кормушки семинары больше не ходить, понравится - так наоборот больше профита поимеешь.
Аноним 19/03/21 Птн 12:39:18 1971264538
>>1971234
Что-то мне подсказывает, что подтягивать питон и математику немного ахуеть какие разные вещи)
Аноним 19/03/21 Птн 13:35:54 1971328539
>>1971233
Ты ее сам создал, напиши типы
Аноним 19/03/21 Птн 13:47:48 1971336540
>>1967628
впиливать тесты в имеющийся проект - ебала редкостная. нужно ТДДшить новые компоненты и писать тесты которые проверяют не ебнется ли старый функционал от выполнения нового. иначе как девелопер ты не сможешь девелопить, а портратишь месяц-два на покрытие тестами того, что кое-как, но работает уже.

если не дали спеку, что должен делать тот или иной легаси компонент, можешь посылать нахуй смело - как ты учтешь все кейсы без четкой спеки? написать 9 тестов к примеру займет полдня, но не будет учтен крит какой-то и компонент все равно попадает/некорректно обработает, полдня потрачено, а баг живой и здоровый

мне ТДД сэкономил много времени и нервов, но это не марксизм-ленинизм per se, а Госплан скорее - без четкого соотношения задач и имеющегося продукта - это хуета, а не Госплан

мимо сеньор-помидор 4.5К/мес
20/03/21 Суб 08:23:11 1972014541
Я ТУПОЙ И ЕБУСЬ В ГЛАЗА?

Какого хуя мне пустой массив возвращает рекурсия?

function z(ls) {
const result = [].concat(ls)
if(ls.length === 0) {
console.log("kakogo xyia");
return result;
}
return z(ls.slice(1));
}

console.log(z([0, 1, 3, 6, 10]))
20/03/21 Суб 08:30:02 1972019542
>>1972014
Отбой, понял что я тупой.
Аноним 23/03/21 Втр 11:22:10 1975059543
>>1971336
>впиливать тесты в имеющийся проект - ебала редкостная
Это единственное средство зафиксировать стабильное поведение программы в свете надвигающегося рефакторинга.
Аноним 24/03/21 Срд 02:15:54 1975773544
>>1975059


ну если рефакторинг по шаблону strangler, или как его там, делаеш, и большинство компонентов будет переработано, то конечно имеет смысл. если иметь какую-никакую версионность параллельную, то от версии к версии можно тест-базу наращивать.

Аноним 25/03/21 Чтв 13:48:41 1977066545
Сколько времени нужно уделить на верстку? Кто-то говорит, что 10 дней - дохуя, а другой говорит пару месяцев потратить минимум. ГДЕ ПРАВДА?

мимогречневый
Аноним 25/03/21 Чтв 15:36:31 1977168546
Аноним 25/03/21 Чтв 15:47:24 1977183547
>>1977168
На изучение верстки перед вкатом в JS
Аноним 25/03/21 Чтв 16:03:31 1977210548
Аноним 26/03/21 Птн 11:17:17 1977913549
Стикер 191Кб, 512x512
512x512
>>1977183
Пара месяцев это точно минимум. Уверяю тебя, что ты не выучишь прямо всё по части css и html. Чуть больше базы освоишь, а все остальное узнаешь с опытом и временем
Аноним 26/03/21 Птн 22:31:57 1978581550
>>1977913
Спасибо анончик, добра тебе
Аноним 01/04/21 Чтв 10:05:34 1983021551
Mobx
Аноним 01/04/21 Чтв 10:18:50 1983026552
Стикер 191Кб, 512x512
512x512
Аноним 02/04/21 Птн 11:50:26 1983937553
mobx
Аноним 02/04/21 Птн 16:26:50 1984071554
>>1977913
Иногда вижу сайты, где все элементы абсолютно позиционированы, так что там
1. нихуя не сдвинуть
2. высота НУЛЬ

цвета, шрифты, паддинги - все ок. Но что было в голове у человека, который гвоздями приколачивал блоки (и не к родителю, а к странице, т.к. все топ-лефт-райт от края экрана вплоть до top 1200px)...хм...
Аноним 05/04/21 Пнд 15:16:18 1986590555
mobx
Аноним 06/04/21 Втр 17:40:16 1988155556
>>1986590
Франтент-макак плиз
Аноним 06/04/21 Втр 18:05:58 1988183557
>>1988155
А тут сидят другие?
Аноним 06/04/21 Втр 18:10:50 1988189558
>>1988183
Вы проебали мое уютненькое программирование, никаких инженерных принципов, никакого желания учиться, из-за вас JS считают говном не за настоящие его слабые стороны, а из-за качества выполнения задач.

Про то, что половина из вас хачи, хохлы и фемки - я молчу.
Аноним 06/04/21 Втр 18:16:13 1988195559
Стикер 127Кб, 512x512
512x512
>>1988189
>Про то, что половина из вас хачи, хохлы и фемки - я молчу.
Аноним 06/04/21 Втр 23:44:50 1988484560
xstate
Настройки X
Ответить в тред X
15000
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов