Двач.hk не отвечает.
Вы видите копию треда, сохраненную 28 июня 2022 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
16313000548100.png56 Кб, 1050x1050
JS Thread #233 /js/ 2220402 В конец треда | Веб
Предыдущий тред: >>2210088 (OP)

Больше пары строк кода в посте или на скриншоте ведут в ад.

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

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

Документация - https://developer.mozilla.org
Руководство для вката - https://github.com/acilsd/wrk-fet#javascript
2 2220419
Подскажите хорошие материалы по теме state management в React.

Как про useContext, так и про всякие Redux и MobX.
4 2220444
>>2214999 → (You)
>>2214714 →

Это снова я со своим flask-bootstrap и попытками в js. Короче говоря, анон помог, но возникла маленькая сложность.

Дано: https://pastebin.com/tjKDXkwd

Как есть: пикрил 1
Как хотелось бы: пикрил 2

По сути, задача сводится к:
1) клонировать ряд и добавлять не в конце формы (после кнопки submit), а сразу же
2) выровнять кнопки по центру поля формы
3) для всех последующих клонов ряда убрать название (сидит внутри фласкового приложения)

Выручай, анон. Без тебя никак.
test.jpg281 Кб, 932x1044
5 2220469
Оцените тестовое на джуна. Стоит ли вообще за такое браться?

Смущает, что на него дается аж целых 3 дня.
6 2220477
>>20469
Это тестовое для фуллстака?
7 2220485
>>20477
Для Реакт-разработчика.

Не пойму, то ли это реально трудное задание, то ли это я не шарю в этих авторизациях, API и прочем.
8 2220508
кто rtk query пользовался помогите https://stackoverflow.com/questions/70081202/rtk-query-query-parameter
9 2220512
>>2220415 →
Циклодебил, плиз

Покажи-ка своё решение, лол
10 2220538
Является ли подобный выкрутас с диспатчем ересью? Можно ли его так засовывать в функцию и потом вызывать эту функцию в компоненте? Во всех примерах диспатчем оборачивают в самом компоненте, но выглядит как огород.
image.png8 Кб, 406x295
11 2220575
12 2220584
Я тут пытаюсь разобрать кусок натурального говнокода на JS-е.
И мне абсолютно не понятно, что делает вот такая вот конструкция:
(()=>{ var x={123:()=>{ Тело функции }()}})

Может хоть кто-нибудь пояснить, что это означает?

1. Скрипт начинается с открывающей скобки. Зачем? Почему?
2. Сразу после фигурной скобки стоит число, двоеточие, круглые скобки и стрлочная привязка. Это число (123) - это название функции? Или это какая-то другая конструкция, которая делает что-то? (Что?)
3. Зачем после тела функции нужна ещё одна пара круглых скобок? Что она даёт?
3.
13 2220640
>>20402 (OP)
Prisma VS TypORM
Что анону больше по душе и почему?
14 2220652
>>20584
Скинул бы всё, чтобы линтер отформатировал. А так разбираться не буду.

>2.


Это словарь. 123 — ключ, а значение — это самовыполняющаяся стрелочная функция (синтаксис неправильный, но в жс это, как обычно, не проблема https://github.com/babel/babel/issues/2118)
15 2220658
>>20640
П.С.
Лично я следующий проект буду делать на призме. Что-то я наебался с typeorm, а судя по видосам, на призме все очень просто и няшно выглядит. В typeorm куча неочевидных моментов, например: как сохранять отношения в базу. В голом SQL это делается без задней мысли, с typeorm мне пришлось изрядно напердолиться. Это все, конечно, есть в доках, но как-то мельком и намеками, до некоторых вещей пришлось доходить самому.
16 2220665
>>20469
Для джуна непросто, но реализуемо. Посмотри пару видео про jwt, разберешься, думаю.
17 2220724
>>20485

>то ли это я не шарю в этих авторизациях, API и прочем


Я первый раз вижу, чтобы от фронтоджуна требовалось что-то подобное. Видимо фронт плавно перетекает в фуллстак, и скоро от верстал будут требовать трогать базы данных с авторизацией.
18 2220731
>>20665
Ну я не прочь разобраться с JWT, что-нибудь на эту тему посмотрю. Однако тратить на задание для одной конторы 3 дня (это только по их оценкам) как-то нерационально.

>>20724
Ок, а то я подумал, что сейчас все тестовые так выглядят. Вчера создал резюме на хх.ру, это был один из первых откликов.
19 2220797
>>20444
Было бы проще, если бы дал итоговый код html странички которую видит пользователь, потому что с ним жс и работает, а не с фласковскими {{ wrap.hyu }}.
20 2220918
>>20469
Ты что, ебанутый, если это тестовое не на час времени или вообще не на "покодить вместе во время интервью", то смело шли нахуй, ты еще 50 контор найдешь, которым джун нужен и которые не настолько охуели, чтобы давать тестовое задание на несколько дней времени.
21 2220953
>>20477
От backenda здесь ничего нет, обычная работа с авторизацией на каждый запрос, решается вроде через axios interceptors
22 2220956
23 2220972
>>20575
Ты чо бля наворотил
24 2220974
С тайскрипта нельзя вкатываться или можно?
25 2220994
>>20974
В тред или на работу?
26 2220995
>>20994
В героиновую зависимость.
27 2221004
>>2220756 →
Спасибо, няша. Бобра тебе.
28 2221147
>>20974
Что за тайскрипт? Тайский js?
29 2221243
Use strict для react компонентов не нужно прописывать? Eslint заменяет его?
30 2221245
>>21243
Это делает вебпак
31 2221349
>>21243
Ни разу за 3 года в разработке жс не прописывал его и не ловил ошибки связанные со строгим режимом
32 2221382
Что за говно выдаёт жс при работе с асинхронными функциями?
Ошибки как будто вообще не связаны с происходящим в программе.
Ещё и дебаг как-то через жопу работает с ними. Я один бугурчу что ли? Всем как будто нормально
33 2221484
>>21382
Привыкай, тебя ждет увлекательный мир жабаскрипта. Сверхвонючий язык, суперпотные грязные хаки.
JSON rewriting 34 2221716
Анон, есть какая-нибудь библиотека для перезаписи JSON/js-объектов по некоторым правилам?
Допустим есть правила вида:
{foo: "bar", baz: {a, b}} -> {foo: "bazbaz", baz: ["word", b, a]}

Есть какая-нибудь библиотека?
35 2221718
>>21716
Да, эта библиотека называется "второй аргумент для JSON.stringify() и JSON.parse()".
36 2221720
>>21718
Мне нужно общее решение с паттерн-метчингом.
37 2221722
>>21720
Ну так паттернматчи ключ и/или значение. У джейсонов ключами могут быть только строки, а значит ключи можно прогонят по регуляр очке и высирать нужный результат.
38 2221725
>>21722
Нужна не отдельная перезапись ключей, а комплексная перезапись нод в AST по правилам pattern -> object.
К примеру:
["+", ...args] -> ["js-eval", args.join("+")]
[["∘", f, g], x] -> [f, [g, x]]

Было бы заебись, если бы в JS изначально был бы паттерн-метчинг, но его нет, в том-то и проблема.
39 2221732
>>21725
Какая перезапись нод, наркоман? Джейсоны - строки, а значит иммутабельные структуры. Максимум что ты можешь сделать - распарсить входной джейсон по твоим правилам, и потом по твоим правилам сохранить в джейсон. А уж как там "ноды" обновляются - не дело парсеров.
40 2221735
Какие задачи обычно дают джунам\стажёрам на проектах?
41 2221738

> Руководство для вката - https://github.com/acilsd/wrk-fet#javascript


Я правильно понял, что вкатываться нужно сначала в html+css, и только потом в js?
42 2221763
>>21738
Да, причем нормально из изучи, а не кое-как, чтобы потом проблем не вызывала верстка и стилизация. Вот тебе сайт еще неплохой, используй как один из справочников - https://doka.guide/. Помни, что решает практика и умение гуглить
43 2221765
>>2220264 →
function execute(times: number, action: Function): void {
Array.from({length: times}).forEach(action);
}

execute(12, (_, i) => console.log(i))
44 2221770
>>21765

>Array.from({length: times})


Совсем ебанулся с написанием в одну строку? А если в будущем ему надо миллион итераций сделать? Где движку память набрать на массив из миллиона элементов?
45 2221772
>>21770
Ебануться! Ты какой покемон?
46 2221773
>>21765
И зачем тут foreach, еслиfrom уже принимает колбэк, тайпошизик.
47 2221778
>>21765
function executtion (n, fn) {
while(n--) fn(n)
}

Лохи ламеры галимые.
48 2221780
>>21765
В чем профит писать Array.from({length: times}).forEach(action); или Array.from({length: times}, action) вместо for (let i =0; i< times; i++){action} ?
49 2221782
>>21778
executtion(-1, function() { alert("Бумс!"); });
50 2221789
>>21780
Типа нахуя создавать массив, если можно НЕ, оставляя всё остальное таким же.
51 2221790
>>21782
Условие изменить ума не хватает?
52 2221796
>>21789
Потому что этот pevth думает, что написать в одну строку ебаный говнокод это лучше, чем как бумеры писать СИшный for
53 2221805
>>21790
Ну и почему тебе не хватило? Наверное потому что не так красиво, да?
54 2221810
>>21796
пишу for of когда нужен break
пишу for of когда нужно массив создать из другого массива
пишу forEach когда есть массив объектов и у этих объектов нужно поменять свойства без изменения исходного массива
пишу map когда нужно пересоздать объекты в массиве, например для change detection
пишу map в rxjs

мимо шел
55 2221817
>>21805
Чтт некрасивого в while(0 < n--) шиз.
Потому что в изначальном условии не было такого требования, как тебе такое?

Давай еще накинем с десяток условий, что если теье туда прилетает данимаческий обьект выбрасывающий эксепшен при привелении к числу. Иди соси писос, долбоеб.
56 2221820
>>21782
Что если n infinity, шищ. М?
57 2221853
>>21780
Во первых не нужно доп. проверок на то что times > 0 или != infinity
Во вторых, в будущем можно легко изменить на получение агреггированого результата, заменив forEach на reduce и добавив return. Либо массив из результатов, добавив action вторым аргументом from
Также ты получаешь индекс вызова, что тоже может быть полезным.
И код стаеовится более читаемым.
>>21773
Он принимает map калбэк, это не то что нам нужно, такой код будет запутывать читателя кода.
58 2221856
>>21817
Тебе передают Infinity и твой код опять зависает. При этом Infinity это число, т. е. даже типизация не спасёт.
Вот видишь, ты второй раз крупно обосрался на простой задаче, просто потому что твой мозг не приввк писать функциональный код.
59 2221869
>>20797
Вот код страницы: https://pastebin.com/TEq3EzTC

>>20444
Бамп реквесту. Выручай, анон.
60 2221944
Сделал чатик для общения двух людей по сокетам. Теперь хочу сделать так, чтобы их сообщения где-то хранились, да так чтобы их можно было прочесть без доступа в интернет. Куда копать?
62 2221986
>>21944

>их можно было прочесть без доступа в интернет. Куда копать?


localstorage
indexedDB
service woker
63 2221988
>>21946
За функцию спасибо, но чет не работает.
64 2222038
>>21988
У меня работает https://jsfiddle.net/egkmfj6d/
65 2222109
>>21986
>>21946
Спасибо, разобрался. Ещё один вопрос, дали какое-то апи ? "wss://huipizda.ru" и типо я должен работу чата с помощью нее организовать. Вопрос - что это и куда это пихать? У меня все через socket.io и localhost работает
66 2222115
>>22038
Ну это просто ты молодец. А я долбоеб, который где-то в div'ах проебался.
67 2222126
Кто сталкивался с postgreSQL ошибкой: неверный синтаксис для типа uuid: "hel@Q~loANUSwU^NorldPUNCTUMco#&9m"
Я пытаюсь зарегистрировать пользователя, и какого-то хуя, пострге думает, что поле email имеет тип UUID. Как это блять так? Я ничего не менял в entity пользователя. Поле email было и остается строкой, я просто добавил обертку над методом save (который работал до этого просто отлично и всегда создавал пользователя), с логикой регистрации. Если явно указать, что email это text или VARCHAR, то БД просто виснет нахуй, сервер пишет, что соединение невозможно установить. Если убрать из entity email, то регистрация проходит как по маслу, т.е. проблема именно в этом поле. Пиздец, я просто охуел блять.
68 2222143
>>22126
Тебе не в жс тред с такими вопросами
69 2222181
Что за жесть в CSS с центрированием по вертикали и горизонтали?

В интернете столько вариантов предлагается, ни один из них нормально не работает.
70 2222214
>>22181
код то скинешь? или ты сюда не за помощью пришел, а пожаловаться на свою глупость?
71 2222248
>>22181
man flexbox/grid - align-items/justify-content
72 2222349
>>22181
Flexbox тебе в помощь. Сам когда обнаружил эту фичу вздохнул с облегчением.
73 2222355
Где пиздить дизайн? Чувства стиля 0
74 2222362
>>22355
https://dribbble.com/search/Todo App
Библиотеки готовых компонентов можешь использовать еще
75 2222363
>>22355
>>22362
ну и фигму потыкай
76 2222421
>>22126
Заходи в БД и смотри, какие там колонки у таблицы. Если нихуя не понятно, то pg_dump позволяет сохранять схемки потаблично.
77 2222423
Заебало, из 10 тестовых только два было, где не нужно было париться над бекендом . Во всех остальных бекенду посвящается минимум 50%. Сессии, JWT, сокеты, докеры, апишки ебанные. Ебануться, я думал вот-вот вкачусь, а теперь нужно быть фуллстаком миддлом чтобы на джуна фронта вкатиться.
78 2222456
Привет, аноны, есть такой вот кодdocument.querySelector('#button1').onclick = function addItem() {
let ul = document.querySelector("#ul1");
let li = document.createElement("LI");
let button2 = document.createElement("BUTTON");
button2.classList.add("button2");

ul.appendChild(li)
ul.appendChild(button2);

li.innerText = "hello"

И хтмл:

<button class="btn btn-add" id="button1">создать</button>
<div class="div1">
<ul id="ul1">

</ul>
</div>

Что не так с кодом, по клику на кнопку не происходит создание блока со списком и второй кнопкой
79 2222465
>>22456
Простите, забыл подключить ЖС в файле))
вопрос отклоняется
image.png66 Кб, 749x222
80 2222479
https://codepen.io/cdjldc-54/pen/jOLgMEw

Создаю список и кнопку, пытаюсь сделать так, чтобы вторая кнопка удаляла только элемент списка. Но работает только первая кнопка и она удаляет полностью все...

Где я накосячил?

подсмотрел как это делает один ютубер
81 2222482
>>22479
cho_tebe_nado_tam_udalit.remove()
82 2222486
>>22482
let li = document.getElementsByClassName('li2')

li.remove();
?
лол так что ли?
83 2222487
>>22126
Может у тебя колумн индексовый и уникальный и ты забыл соответствующий декоратор добавить, вот он и пытается додумать ставя uuid
84 2222488
>>22486
let li = document.getElementsByClassName('li2')[0];
li.remove();
85 2222489
>>2220264 →
Сделать массив передаваемых значений и через фор оф вызвать
86 2222496
>>22488
let li = document.getElementsByClassName('li2')[0];
let button = document.getElementsByClassName('button2')[0];

li.remove();
button.remove();

вот такая получилась функция, кнопка удаляет элемент списка и саму себя, но остальные кнопки не работают таким же образом, я ведь создаю несколько элементов списка. Хочется сделать так, чтобы кнопка удаляла элемент списка, с которм была создана и саму себя.

Спасибо, кстати за ответ, работает, а что ноль означает?
87 2222501
>>22496
Ноль нужно передавать, чтобы команда не крашилась.
88 2222505
>>22501
Как это делается?
89 2222507
Матан нужен? А что вообще нужно? Я тупой пизда и задачи всегда напрягали, в 1 классе как не смог решить простецкую задачу про яблоки так и хуй забил и не вчпоминал
90 2222510
>>22507
И матан и линал нужен, и желательно гуманитарную вышку тоже.
изображение.png7 Кб, 525x219
91 2222525
>>22496
Метод getElementsByClassName возвращает всё, что было найдено по классу button2 в виде хуерги HTMLCollection. Это массив-инвалид, с которым нихуя нельзя сделать, кроме как обратиться к элементу по индексу, да узнать длину.
Нулевой индекс будет у первого найденного элемента.
92 2222527
>>22525
А, нужно сделать счетчик и присвоить каждому элементу ли на единицу больше, пойду искать как это творится
93 2222528
Какие UI компоненты выбрать вкатуну для своего пет-проекта на реакте? Бутстрап - урод ебаный, и колонки на реакте использовать, мне кажется не лучшей идеей. Material UI - говорят говно, хотя дизайн мне нравится. Materialize как и MUI, но будто чуть хуже. And - ну хз. Ни одного красивого сайта китайского не видел. Да и вообще нахуй чинчонгов. Styled-components - вообще не понял что это и зачем нужно. Короче, лишком их дохуя как-то, я запутался
94 2222533
>>22528
Я сам задаюсь тем же вопросом и со слезами юзаю material ui. Для vue вроде есть vuetify, не щупал, но выглядит прикольно. Правда для vue 3 это либа пока в альфе, так что сам я свой пет буду писать горько писать на реакте с mui. Какое же всё говно
95 2222537
>>22528
Смотришь вакансии, смотришь требования к знанию ui либ, выбираешь самую популярную.
Что тебе лично нравится всем похуй. Я бы на твоём месте бутстрап выбрал, так как довольно популярен и с его знанием можно спиздеть про наличие опыта, так как все кто с опытом его знают.
4f3a04e811bc701a75c97d02d6379f61.jpg26 Кб, 259x300
96 2222540
Бля, я тут подумал, если я всё же вкачусь - у меня будет профессия и стабильная зп. Типа, никто не отнимет у меня знания, я буду уверен в завтрашнем дне и дальше всё будет лишь улучшаться. Аж слезы на глазах наворачиваются, что мусору без образования вроде меня дан такой шанс, я ведь последние 3 года ебашу на дно работках и думаю, как не сдохнуть с голоду
а.jpg32 Кб, 645x382
97 2222542
>>22540
Крепись, анон, ты сможешь!
98 2222557
>>20402 (OP)

>никто не отнимет у меня знания


Они устаревают.
99 2222586
Можно ли закатиться в джуны с одним знанием vue? Потрогал его, он крутой и простой, а вот реакт и ангуляр трогать не хочу.
100 2222596
>>22586
нельзя
открой hh да посмотри, что требуют от джуна
101 2222599
>>22423
Пчел я сейчас вкатываюсь уже год дрочу пару проектов для себя и в качестве портфолио, и уже сейчас понимаю что без знания бэка ты нихуя не сделаешь, пришлось поднимать свой простой бэк на монго, со всеми вытекающими, я так понял обычный верстала сейчас никому нахуй не упал
102 2222600
>>22528
В ректе юзал обычный scss, во вью юзаю тайлвинд. Все ок
103 2222601
>>22586

>vue


Что бы реально понять и полюбить вью нужно начать вкат с реакта
104 2222604
>>22601
Вкатываться нужно с jQuery
105 2222609
>>22596

>открой hh да посмотри, что требуют от джуна


реакт
106 2222610
>>22609
ты ответил на свой вопрос
107 2222615
>>22604
Мне тут надо было одну хуюшку запилить, а на жс до этого не писал, ну и взял jquery. Так меня тут местные помоями облили за то что в 202d1 я посмел jquery использовать.
108 2222647
Как называется такая штука в HTML/CSS, когда пользователь должен выбрать один вариант из двух предложенных. Оба находятся рядом, не вложены в select. Тот, на который кликаешь, выделяется соответствующей стилизацией.

Короче что-то такое:
Вопрос: вариант1 вариант2
Вопрос: [вариант1] вариант2 кликнули на первый
109 2222648
>>22647
Radio-button
110 2222700
>>22648
Спасибо.
111 2222770
>>22586
можно. Только еще нужно хорошее знание JS.
>>22599
Как раз версталы дохуя где нужны, но это веб студии, ЗП в 80к потолок. Работа на износ, зоопарк говна в виде Jquery всяких CMS и тд.
112 2222815
эксесебилити используют в проектах или хуй забивают?
113 2222819
>>22528
TailWind?
114 2222822
Как научиться работать с CSS?

Например, я хочу повторить какой-то дизайн, но сталкиваюсь с тем, что какие-нибудь margins и paddings плюсуются, в итоге все это выглядит криво и приходится вручную что-то менять, получается не очень-то изящно. Верстать под мобильные версии вообще не умею. Pixel perfect звучит как что-то невероятное, лол.

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

Посоветуйте курсов каких-то, плиз.
115 2222843
>>22819
это не компоненты, это css фреймворк извиняюсь за душноту
116 2222846
>>22822

>какие-нибудь margins и paddings плюсуются


о чем ты, друг?

>Pixel perfect звучит как что-то невероятное, лол.


если есть макет, то никакая не магия

>Верстать под мобильные версии вообще не умею


так научись, media queries для кого придумали?

>Посоветуйте курсов каких-то, плиз.


посоветую включить мозги, научиться гуглить и много практиковаться
117 2222848
>>22528
Chakra UI попробуй, а лучше чистый css или scss, его больше в вакансиях в разы
118 2222886
>>22540
Иди до талого, я год назад в такой же ситуации был пока не вкатился. Главное не забрасывать и разбираться пока не поймёшь
119 2222887
>>22846

>о чем ты, друг?


Когда на макете одно расстояние от элемента до границы родительского элемента, а у тебя другое, потому что вложенные элементы имеют свои margins и padding, допустим, у тебя заголовок не просто в div'е, но еще в каком-то контейнере. Что-то поправил в одном месте, оно съезжает в другом.

Так не объяснишь, но ньюфаги поймут. Я даже от опытных разработчиков слышал, что верстку они не любят, мало в ней разбираются и предпочитают этим заниматься как можно меньше.

>гуглить


В гугле зачастую выдает какие-то статьи от мастеров верстки, которые юзают какие-то эзотерические решения. Всякие CSS Tricks и Smashing Magazine.

А я реквестирую базу.
120 2222894
Какое сжатие картинки лучше для background?
image.png666 Кб, 626x939
121 2222900
>>22822
Если уж не вышло, то и не берись. Тут только модные сасные пацаны, всех неумех на бэк пересаживаем
лягушка.png189 Кб, 804x743
122 2222902
>>22887
ну, советую не лезть в этом дело тогда, если ты не в силах открыть ютубчик, гугл или стак оверфлоу и найти ответы на свои вопросы, тут только серьезные дяди сидят, кнопочки красить и маргин на 2 пикселя увеличивать это тебе не за кассой в маке стоять
123 2222909
>>22902
Лучше расскажи, как ты сам изучал CSS. Вряд ли чисто на гуглении выезжал, основы где-то брал наверняка.
124 2222917
>>22902
На стековерфлоу наоборот обычно предлагается решение под чью-то конкретную задачу. Если ты в свое нагромождение цсс лепишь понабранные в интернете решения, то это не лучший вариант.

Курсы нужны, чтобы более-менее ясно представлять, как и по каким принципам делать верстку.
125 2222923
>>22909
чел сначала прочитай статьи обучающие на mdn, потом глянь пару видосов на ютабе
126 2222941
>>22923

>статьи обучающие на mdn


Плохой совет. Там по CSS порядка 700 статей. MDN это справочник.
127 2222985
Есть двумерный массив известных размеров, как выбрать случайный элемент, если некоторые элементы выбирать нельзя (их может быть от одного до всего массива - 1)?
Я придумал только сделать массив из запрещённых ячеек в том порядке, в котором они идут сверху вниз с соответствующим номером, сгенерировать число от 1 до (количество_ячеек - количество_запрещённых_ячеек), потом если попал в запрещённую, то выдавать (количество_ячеек - количество_запрещённых_ячеек + номер_в_массиве_запрещённых_ячеек). Звучит как-то тупо, но лучше чет ничего в голову не приходит.
128 2223005
>>22985
Генерить рандомный номер ячейки, если попал на запрещенную, то генерить еще раз, пока не попадешь на разрешенную.
129 2223010
>>23005
Но это будет очень хуево работать если запрещено много ячеек, а вполне могут быть запрещены все кроме одной.
130 2223013
>>22822
Скачай с трекеров какой-нибудь говнокурс с содержанием типа "верстаем мой первый сайт". Абсолютно любой, гикбрейнс, яндекс, удеми, что угодно подойдёт, если там есть ссылка на фигмовский макет с версиями под разные разрешения (в идеале 3 версии - десктоп, планшет и мобильная).
131 2223014
>>22985
В твоём случае вероятность того, что будет выбраны ячейки до первой запрещённой - намного меньше остальных.
Если не хочешь парится - следуй совету этого анона: >>23005
Если хочешь париться - создай массив разрешённых ячеек - [(x1, y1), (x2, y1), ... , (xn, yn)), и из него уже вытаскивай рандомный элемент.
132 2223017
Как сделать кнопку удаления из базы?
133 2223021
>>23014
А лучше не массив, а set из разрешённых ячеек
134 2223022
>>22941
там есть обучалки, а есть просто про каждое отдельное свойство статья
135 2223024
dependency cycle detected - что за дичь?
сделал обычные внутри компонента компоненты List -> ListItem, а еслинт выебывается, что может быть не так?
136 2223035
>>22917

>решение под чью-то конкретную задачу



Так мы и выяснили, что ты не умеешь в декомпозицию задач
137 2223036
>>23024
Нашел, import вместо import type делал
138 2223045
>>23014
Почему выше? Вероятность выбрать рандомную будет 1/(все - запрещённые) же.
139 2223056
>>22909
Я другой анон, но
По общим каким-то понятиям и свойствам пару статей можно прочитать. Все остальное изучается во время практики, т.е. сидишь пишешь разметку и когда ее надо стилизовать, уже гуглишь конкретно что хочешь с элементом сделать. И дрочишься, пока не получишь что хочешь.
dodiknadvache.png14 Кб, 392x271
140 2223060
>>23045
Смотри, предположим у нас пикрил ситуация, getRandomInt() сгенерила 2, какую ячейку ты выберешь по своей схеме?
1.jpg4 Кб, 418x78
141 2223078
Как часто на работе нужно будет вручную делать всякие штуки вроде ползунков типа пикрил? Или это все уде давно руками не делается, а берется готовое в UI библиотеках?
142 2223083
>>23078
Смотря на какой. По возможности конечно берется готовое
143 2223084
>>23060
Там проблема не в вероятности тогда, а в том что оно попадает на запрещённые.
А если так:
https://pastebin.com/ZR4PdZcP ?
144 2223089
>>23084
Только я там всрато ищу количество запрещённых до рандомного, но ты понял.
145 2223090
>>23078
От работы зависит. Условный озон для себя сам UI кит пилит, вебстудии, сдающие новый проект раз в 2 недели, берут готовый.
146 2223094
>>23078
А какая разница, это делается за 10-15 минут под ключ
147 2223098
>>22599
Что из бэкенда нужно уметь делать? Весь роадмап ноды ковырять?
148 2223100
>>23084
Про вероятность - я по началу не так понял, что хотел.
По поводу:
random = getRandomInt(0, allowed_amount - 1);
-1 не нужен, потому что обычно верхняя граница не берётся.
Касаемо алгоритма - у тебя там, кмк, опять неравновероятные элементы выходят - лень считать, плюс ты уже начинаешь заниматься перебором, что будет приближать сложность на доставание одного случайного элемента к ~O(n).
Как я уже сказал, тебе после создания массива стоит пробежаться по нему и создать set с координатами допустимых ячеек и уже потом из него доставать случайный элемент. Так у тебя будет O(n) на создание, но потом линейные получение случайного и изменение состояний ячеек.
149 2223101
>>23100
Ну там массив запрещённых есть отдельно и искать рандомный нужно когда он изменился. я змейку делаю лол, мне нужно сгенерировать нового кролика не на змее
150 2223108
>>23101
Сет идеально подходит
151 2223114
>>23108
Типа параллельно с движением змеи иметь сет из всего что не змея и генерировать рандом оттуда? А это норм в стейте хранить избыточную хуйню?
152 2223120
>>23114
Лучше же конечно всё поле пробегать каждый цикл, чтобы вычислить запретные поля.
153 2223167
У вас есть чувство неполноценности как программиста? Бекендер может создать сайт или приложение без фронтендера, обойтись базовыми знаниями, в то время как я просто дрочу эти "базовые знания" до идеала
154 2223169
>>23167
У меня нет этого чувства даже по отношению к классическим программистам (а не только к веб-разработчикам). Вот по отношению к представителям таких профессий, как архитекторы, хирурги, йоба-инженеры и прочих серьезных профессий - есть
155 2223174
Пиздец. Нахуй. Я. Учился.
В 25 джуном нереально работку найти, везде уже очередь из 20 летних с 2 годами опыта
156 2223176
>>23174
Промахнулся тредом?
157 2223177
>>23114
Если очень хочется избежать изыточности - храни только доступные клетки, а недоступные убери.
158 2223217
Господа, встала такая задача - есть ссылка на файл, например www.example.com/file.pdf нужно начать скачивать файл по этой ссылке и по мере загрузки анализировать поток, и если встретится определённая последовательность байт - остановить загрузку. Нужно сделать это на js, но я в нём не в зуб ногой, так что прошу подсказать, какие средства тут можно применить, пока нагуглил только FetchAPI, который, как я понял может возвращать ReadableStream. Я в правильную сторону смотрю?
159 2223218
>>23078
забацай простой ui kit как пет проект и будет тебе счастье, потому что:
- сможешь использовать его на своих проектах и не ебаться в будущем со стилизацией
- покажешь свою компетенцию в создании китов, потому что на некоторых работах есть свои ui kit'ы, а будут случаи, где придется писать ui kit с нуля, будешь знать как они вообще делаются
- подтянешь кучу скиллов по пути, типа css и т.д.
160 2223230
Ананасы, имеет смысл запариваться и делать авторизацию по ролям, если я использую graphql и у меня в проекте нет реста? (Например, юзер может делать это, премиум-юзер может еще и вот то, админ может еще больше и т.д.?). Прям вот как положено делать, с гардами, с декораторами, с проверкой ролей перед выполнением graphql-запроса? Или просто достаточно в резолвере чекать, при получении запроса с фронта, есть ли у пользователя отправившего запрос такая-то роль, и если нет, то выбрасывать unauthorized exception? Какие подводные?
161 2223240
>>22909
Html academy, без рофлов, купи доступ. Хороший структурных подход, интерактивная песочница. Но не вздумай js у них учить. Говно лютое.
162 2223245
>>23078
Всегда берется готовое, либо явно в виде сторонней либы, либо неявно в виде своей либы которая построена по макету сторонней с прикручиванием своих свистоперделок.
163 2223246
>>23101
Прикольно, а расскажи как движение происходит, через setIntterval? Сколько мс Задержка?
164 2223247
>>23246
Ну я только проснулся и ещё нихуя не сделал, но планирую setTimeout в useEffect засунуть. Задержку планирую настраивать, типа уровни сложности.
165 2223248
>>23101
Т. е. посмотреть на миллион готовых решений ты не в состоянии?
166 2223344
Запилил аналог физического ежедневника на чистом джсе (чисто на клиенте). Храню все данные (время создания, текст, айди) в localStorage. Появилась потребность подключить markdown разметку, чтобы все парсилось. Нашел на гитхабе готовый парсер markdown-it. Понял, что для его внедрения нужно поднимать собственный сервер. По гайду австралийца поднял рест-апи с 4 ендпоинтами на node и express, в качестве бд выбрал sqlite3 (вывести весь список заметок, добавить заметку, удалить заметку по айдишнику, обновить заметку по айдишнику).
Рендерю свой html через res.SendFile. Теперь, как я понимаю, в скрипте, который напрямую подключен к index.html я могу навешать событий, чтобы брать из бдшки разные данные (fetch(localhost:3000/notes/api)) и с ними взаимодействовать в рамках клиента.
Но встал вопрос как в апишку прикрутить модуль markdown-it. Есть мысль, чтобы на эндпоинт создания или обновления заметки я заведомо парсил искомый текст в html разметку и сохранял эту разметку в бдшке..
167 2223367
Пилю чятик, есть проблемка в мобильной версии. Есть окно с сообщениями и в конце всех сообщений есть span с 0 высоты/ширины, я при загрузке окна чата используя scrollIntoView прокручиваю до этого элемента (получается до последнего сообщения) и вроде бы всё хорошо, НО!
Когда я захожу с телефончика в свой чатик и нажимаю на инпут, дабы ввести сообщение некоторые сообщения пропадают под инпутом и выходит, что я не вижу последнего сообщения.
Пытался сделать что-то типа onClick={() => {
endOfMessages.current.scrollIntoView({ block: "end", behavior: "smooth" });
}}

Это работает с компутера, но не работает с телефона всё равно нихуя.
Как я понимаю это происходит из-за резкого изменения высоты окна с сайтом в браузере, т.к. вылезает клавиатура и именно на высоту клавиатуры смещаются сообщения.

Как можно пофиксить это?

Чат делаю на React, если это важно.
image.png292 Кб, 380x658
168 2223373
169 2223383
>>23247
Ясно, я вот flappy bird хочу написать. Пока думаю насколько ресурсоемко будет колизии обсчитывать.
170 2223389
>>23367
Правь вёрстку, js тут не причём.
171 2223394
>>23389
Ну само-то окно с сообщениями уменьшается, всё ок, просто сообщения уходят в небытие самые последние при уменьшении высоты экрана.
Я юзал overflow: auto, чтобы сделать прокрутку сообщений именно в этом окне.
Вообще нет идей как тут поправить верстку можно.
172 2223402
>>23344

> Нашел на гитхабе готовый парсер markdown-it. Понял, что для его внедрения нужно поднимать собственный сервер.


WUT?
173 2223422
Кароче, я одно время ненавидел вёрстку, но сейчас когда попробовал свой проект делать, то понял, что это прикольная тема
image.png142 Кб, 426x376
174 2223424
ля какой
175 2223465
>>23422
Такая же херня. Но у меня ненависть изначально была потому, что послушал кретинов с воркача с начал вкатываться с хтмлакадемии. На деле это скорее антирекомендацией должно быть.
176 2223496
>>23424
Да, прикольный хуй, настоящий чэд фронтенда.
177 2223523
178 2223525
>>23496
Ну хз, каждый раз когда смотрю его ловлю дикий кринж, очень странно и немного зажато он себя показывает. Точно не чед, максимум бетка.
179 2223600
Как указать правильно root в vite preview
пишу

>vite preview docs


На любой путь выдает ошибку о ненайденом файле
180 2223627
>>23525
найс доебался до чела, он просто безэмоциональный как и большинство кодеров
Screenshot2021-11-2718-12-17.png12 Кб, 366x147
181 2223633
Объясните, чому так?
182 2223637
В jse Map это тоже самое что хеш таблица, а то я что-то запутался?
183 2223640
>>23600
В vite preview рут файл указывает на путь к самому проэкту vite, внутри которго уже ищет build.outDir для запуска на нем сервера, поэтому изменение build: { OutDir: './docs' } В конфиге должно помочь
184 2223649
Объясните плиз, я заебался уже. Сделал небольшое приложение для получения данных через useEffect (с Jsonplaceholder). Сделал функцию, которая фильтрует полученные данные по айдишнику (например функция с аргументами "2, 30" отфильтрует прилетевший список с второго по тридцатый) и повесил ее на кнопку, НО я хочу, чтобы каждый раз фильтровался целый список после нажатия кнопки при этом не делая повторного запроса к апишке. То есть нужно, как я понял, как-то получить доступ к конкретному состоянию, в котором у меня был весь полученный список, но я хз как это сделать. Помогите.
185 2223652
>>23649
Уволен
186 2223689
>>23633
Тому что ты зыс проебал, надо f.call(String.prototype.trim, ' test ')
187 2223695
>>23649
Ну зафетчь или выбери селектором сколько тебе нужно, передай это в юзстейт и фильтруй как хочешь.
Suffer.jpg37 Кб, 719x688
188 2223697
189 2223705
>>23695
Так я зафетчил, засунул полученный список в useState, кнопкой фильтрую эти данные. Но при повторной фильтрации я каждый раз фильтрую предыдущие, уже отфильтрованные данные, а я хочу каждый раз фильтровать полный список. Можно перед каждой фильтрацией фетчить данные по новой, но я не хочу каждый раз стучаться к апишке, хватит и одного раза. Должен быть способ как-то сохранить этот первоначальный список, но я затупил жестко.
190 2223716
>>23705
Фетчишь список, а перед фильтрацией делаешь его копию
191 2223745

> шапка


> vue.js - мало работы


Шапка какого года? Щас на hh смотрю - везде этот vue
192 2223760
>>23716
Все, разобрался. Спасибо.
193 2223762
>>23745
Так svelte убил вью
194 2223763
>>23745
Два чая. В моей миллионнике уже столько же, сколько и на реакт вакансий. Вот ангуляр сокращается + на половине вакух еще и дотнет спрашивают. Похоже есть смысл поковырять vue
195 2223764
>>23745
React в 4-5 раз больше.
196 2223768
>>23344
Remark же есть

https://remark.js.org/
197 2223863
>>23763
Поковыряйся у себя в анусе, жс-дебил авось новый фреймворк найдешь
198 2223889
>>23863
Углодебил, ты что обиделся?
199 2223982
покидайте пожалуйста тестовых заданий ,которых вам высылали ,чтоб знать к чему готовиться
200 2223983
>>23982
Есть 2 стула...
201 2223984
>>23983
это уже для сеньеров ,а я хочу для джунов
202 2224034
>>23982
Их в открытом доступе как говна, от хекслета гитхаб гугли. Или просто набери "тестовое задание уровень направление"
203 2224043
>>23764
Как и конкуренции
204 2224094
>>22038
Анон, и последний вопрос. Как сделать так, чтобы при создании нового ряда введенные в форму данные стирались и клонировалась чисто пустая форма?
205 2224095
>>24094
textContent = ' ' ?
206 2224099
>>24095
А в какую строку?
я питонист, да
207 2224115
>>24094
Добавил строчку в addRow
https://jsfiddle.net/t6zkc9m0/
Там еще может быть проблема в том, что при клонировании строки айдишки-то не меняются, не знаю важно это или нет.
208 2224133
>>24095
textContent="" стирает только дочерние узлы, а у элементов форм, таких как input или textarea их вообще нет.
>>24094
Сделай себе изначальный шаблон пустой формы и его копируй
209 2224138
>>22894
jpeg или webp
чем сжатие картинки для бэкграунда отличается от сжатия картинки не для бэкграунда?
210 2224203
>>23984
Надо заработать на два стула
Ж 211 2224234
Ап
212 2224245
>>23217

> по мере загрузки анализировать поток


Ищешь книгу носорога (фленеган - 7-е издание), и там в главе про fetch есть пример функции, которая качает и анализирует сколько в процентах уже скачено. Читает стрим кусочками и делить общую длину, и количество скаченного. Пик 1

Алсоу, нихуя не могу понять как нормально редактировать Header-ы в тайпскрипте. Допустим пишу враппер над fetch-ем, чтобы на выходе выдавать дтошки, и хочу зашить базовые заголовки в враппер. Но при этом дать возможность при вызове, добавить что-нить в заголовок. Но пик2 такая ебала, что мне кажется проще просто заменять нахуй и отказаться от этой идеи.
image.png8 Кб, 980x97
213 2224247
>>24245
Бля, не тот комментарий на скрине захватил, ну да похуй.
214 2224259
>>24245
interface Headers {
"Content-type": "text/html" | "application/json"
Authorization: "Bearer ${string}"
}

И тд
image.png54 Кб, 926x476
215 2224270
>>24259
Не, перезаписать то я тоже могу без проблем. Интересует именно как перебрать хидеры лежащие в headers?: HeadersInit
Чет такое ощущение что я просто закипел, задача же должна быть максимально тревиальной.
216 2224281
>>24270
forEach((headerValue, headerName) => {
predefinedHeaders.set(headerValue, headerName);
}

Или [...predefinedHeaders.entries(), ...reqOpt.headers.entries()]
image.png96 Кб, 1336x581
217 2224290
>>24281
Компилятор откуда-то вывел тип string, из-за которого не дает итерировать ни по чему толком. Ни спредом ни разложить, ни по итератору перебрать. Пойду чайку наверну, попробую посмотреть вниамтельнее.
Screenshot20211128-175215.jpg153 Кб, 540x960
218 2224301
Хочу подключить компонент (форму) на реакте, следую данному гайду https://ru.reactjs.org/docs/add-react-to-a-website.html но не могу понять вот эту команду (см. скрин).
Этот вотчер необходимо держать в отдельной вкладке постоянно запущенным? Нельзя спрятать его куда-то, чтобы автоматически запускался?
image.png54 Кб, 1072x425
219 2224313
>>24290
Бля, пойду доки почитаю внимательнее что ли. Какой-то уебанский юнион, который торчит хуй знает какими методами.
>>24301
Я бабель не дрочил пока что, но точно знаю что watch команда мониторит файлы на изменения, и при изменении файла запускает соответствующий процесс (компиляции, транспиляции, или чего ты сам задал)
220 2224340
Как мне стать профи в джаваскрипте?
221 2224413
Я еблан памагити.
Нужно вытащить данные из промиса.
Я делаю extractedData = promise.then((result) => result)
Проблема в том, что result типа data, а extractedData типа Promise<data>. Собственно, что я делаю не так?
222 2224431
>>24313
Вроде заработало, но мне крайне не нравится необходимость оборачивать объект над объектом. Сказал человек пробующий написать враппер.

>>24413
забываешь сделать перед присвоением await
у тебя происходит присвоение в экстрактедДату раньше, чем промис зафулфилиться значением
223 2224443
>>24431

>забываешь сделать перед присвоением await


>у тебя происходит присвоение в экстрактедДату раньше, чем промис зафулфилиться значением


Не, это хуйня какая-то эвейт здесь точно не нужен. Должен быть способ наебать систему и вытащить данные без эвейта. У меня синхронная функция, должен быть способ зафулфилить промис без всяких эвейтов, они же позже промисов в языке появились.
image.png880 Кб, 1280x720
224 2224488
>>24443

> Не, это хуйня какая-то эвейт здесь точно не нужен. Должен быть способ наебать систему и вытащить данные без эвейта.


Можно попробовать подождать, это ведь промис, он рано или поздно выполниться. Ты поставь брейкпоинт и подожди хотя бы 10 минут, потом отпишись пожалуйста, а то мне тоже интересно стало, удасться ли нам наебать систему или нет. Обещаешь?
изображение.png29 Кб, 1190x73
225 2224495
Аноны, я не шарю за js, просто мимо проходил. В чём смысл писать пикрил конструкции? Я правильно понимаю, что мы создаём лямбда-функцию, а потом присваиваем её переменной? Почему сразу не создать функцию с таким же именем, как и у переменной?
226 2224526
>>24495
У стрелочный и обычных функций разный this, ну и с памятью немного по разному работают и еще рад специфической хуйни. Но если каких-то спец требований нет, то вкусовщина и холивар.
227 2224527
>>24526
Понял, спасибо
228 2224533
>>24495
В данном случае это хуевый код вкатуна.
function name(...arg): ReturnType {...}

Пишут в случае если эта функция используется в верхнем скоупе

Через объявленте только в скоупе другой функции, при этом если она не меняется, то объявляют через const, иначе через let.
229 2224565
>>24533
Понял, принял
230 2224645
>>24526
А если через промисы решить?
231 2224761
>>24340
Как и в любом другом деле, трать на него время.
232 2224862
По реакту, достаточно большая кривая изучения.

Есть кто после бекенда изучал данный фреймворк? Сколько по времени заняло до базового уровня прикасаться и что-то самостоятельно лепить вменяемое?
233 2224864
Есть кто пилит приложения для Shopify на ДЖСе? Как вам Полярис (имхо я его рот ебал)? Может есть какие-то советы по разработке? От себя могу сказать что очень удобно использовать shopify-api-node для запросов в их АПИ, и официальный хелпер не очень как по мне
234 2224877
>>20419

>про useContext


Доку почитай!

>Redux


Только курс устаревший.
https://max-frontend.gitbook.io/redux-course-ru-v2
235 2224878
>>24495

>В чём смысл писать пикрил конструкции?


https://learn.javascript.ru/arrow-functions-basics
236 2224879
>>24413
Может тебе нужно сначала декодировать в джсон, прежде чем ты сможешь прочитать.
https://learn.javascript.ru/fetch
sad-pepe.gif414 Кб, 640x640
237 2224889
Как глупо было на что-то надеяться, мой мозг просто не заточен под то, чтобы думать. Пора выбирать себе заводик
238 2224896
>>24889
Давай подробности, что случилось?
239 2224897
>>24413
extractedData = promise.then((result) => result.json()) попробуй
240 2224916
>>24896
Дошел до циклов
241 2224992
>>24043
Реакт расхайплен сильно конечно. По факту учить вью на порядок проще.
image.png10 Кб, 472x158
242 2224995
вот это в разделе б показывает, абу сам что ли кодит или вкатунов заставляет. почему не в продакшене?
15964391195970.jpg178 Кб, 580x580
243 2225017
СКолько нужно вкатываться, чтобы быть нормальным джуном? Я написал всего пару простейших функций и ощущение, будто это ад ебаный, нихуя не понятно, куча кнопок, свойств, атрибутов, еще хрен знает чего. И когда гуглишь выдается сотня вариантов ответа, которые непонятно как применять в твоей конкретнйо ситуации, потому что кто-то на ебаных фреймвороках делает, а ты ищешь чистый джаваскрипт, кто-то в пример приводит массив с 3 числами, кто-то в обучалке говорит - да тут все просто, и пишет 100-страничный код сука, который для новичка набор заклинаний

КАк вы вообще вкатились то нахуй, это же нужно быть аутистом
244 2225020
>>25017
Поднял уже три своих сайта с бэком и фронтом на реакте/вью и один на ванильном html, и только недавно понял насколько дохуя еще надо знать что бы хоть что то нормально делать
245 2225021
>>25020
А зачем для своих собственных сайтов программировать? есть же специальные инструменты для вебмастеров
246 2225023
>>25021
Туда ли ты зашёл, пыхушок?
15962767284570.jpg66 Кб, 600x600
247 2225024
248 2225057
Как же сладко он приложил ангулярдебилов:

AngularJS был действительно сверхпопулярным фреймворком в своё время, но Angular-у даже похожего названия не хватило, чтобы набрать сопоставимую популярность. Причина тут в общей переусложнённости и необходимости полностью переписывать весь код. А раз уж всё равно переписывать, то есть куда более простые и быстрые альтернативы. Так что многие перешли на Vue (современная инкарнация AngularJS) или, на волне хайпа, на React. И даже те, кто по начало верили в Ангуляр и переписали код, потом всё-равно меняли коней. Я сам лично наблюдал за подобными процессами в Энтерпрайзе.

Типичные причины:
скорость работы приложения
скорость разработки
сложность миграции между версиями

Идея сделать фронт похожим на бэк витала у гугла довольно давно. И уже не раз проваливалась. Взять тот же GWT позволявший даже код писать на Java.

RxJS - это отвратительное решение. Как архитектурно, так и в реализации. Они несколько раз меняли API до неузнаваемости, в итоге по сети разбросаны куча версий документации и неработающих примеров кода. А Stack Overflow просто забит вопросами в духе "хочу сделать простейшую вещь, но не пойму как это сделать на Rx".

Redux - это просто рак. Но NgRx - это, пожалуй, лучшая версия редакса, ибо в нём хотя бы мемоизация селекторов есть из коробки. Но это всё-равно отвратительное архитектурное решение, мешающее переиспользованию компонент. Я лично под давлением переписывал приложение с MobX на NgRx, так что мне есть с чем сравнить: перфоманс просел в несколько раз, а объём кода, наоборот, в несколько раз увеличился. И ладно бы только объём, увеличилась и его сложность. Хотя, стоит признать, что по сравнению с голым RxJS, NgRx действительно упрощает код, ибо не надо постоянно решать головоломки.

DI в Ангуляре сделан через задницу. Никто не понимает как он работает. Работает он медленно. А поддержка кода с ним крайне переусложнена. Как сделать простой и быстрый DI я недавно рассказывал.

Компонентные тесты тоже дико тормозят, ибо каждый раз инициализируют пол мира. В итоге типичная оптимизация:

Выпиливаем Default стратегию детекта изменений.
Выпиливаем зоны.
Выпиливаем инициализацию пол мира для каждого теста
В конструкторах инъектим только инъектор, а все зависимости уже лениво получаем через него.

И это только для того, чтобы добиться лишь приемлемой производительности, но ничего выдающегося.

Когда мы начинали разработку $mol, мы смотрели и на Ionic, и на Polymer и на другие технологии гугла - всё это безбожно тормозило на мобилках.

А так называемые Ангуляр-разработчики от 350к, которые умеют делать лишь квадратно-гнездовые приложения, - это прекрасный способ выбрасывать деньги на ветер. Показываешь им простой код на MobX, объясняешь как всё работает, - говорят, что не понимают, дайте нам NgRx, будем писать тривиальные селекторы в духе `a.b.c.d`, а к ним ещё и тестов забабахаем. И плевать, что они с редьюсерами разъедутся уже через неделю.

Резюмируя: Ангуляр вообще ни разу не про энтерпрайз требования. Наоборот, только в энтерпрайзе может быть столько бардака (как в головах, так и в коде), что поделки типа Ангуляра не выбрасываются сразу, а продолжают хорошо кормить специфическую касту разработчиков, которые годами пилят тривиальные приложения, выдавая на выходе посредственный во всех смыслах результат.
248 2225057
Как же сладко он приложил ангулярдебилов:

AngularJS был действительно сверхпопулярным фреймворком в своё время, но Angular-у даже похожего названия не хватило, чтобы набрать сопоставимую популярность. Причина тут в общей переусложнённости и необходимости полностью переписывать весь код. А раз уж всё равно переписывать, то есть куда более простые и быстрые альтернативы. Так что многие перешли на Vue (современная инкарнация AngularJS) или, на волне хайпа, на React. И даже те, кто по начало верили в Ангуляр и переписали код, потом всё-равно меняли коней. Я сам лично наблюдал за подобными процессами в Энтерпрайзе.

Типичные причины:
скорость работы приложения
скорость разработки
сложность миграции между версиями

Идея сделать фронт похожим на бэк витала у гугла довольно давно. И уже не раз проваливалась. Взять тот же GWT позволявший даже код писать на Java.

RxJS - это отвратительное решение. Как архитектурно, так и в реализации. Они несколько раз меняли API до неузнаваемости, в итоге по сети разбросаны куча версий документации и неработающих примеров кода. А Stack Overflow просто забит вопросами в духе "хочу сделать простейшую вещь, но не пойму как это сделать на Rx".

Redux - это просто рак. Но NgRx - это, пожалуй, лучшая версия редакса, ибо в нём хотя бы мемоизация селекторов есть из коробки. Но это всё-равно отвратительное архитектурное решение, мешающее переиспользованию компонент. Я лично под давлением переписывал приложение с MobX на NgRx, так что мне есть с чем сравнить: перфоманс просел в несколько раз, а объём кода, наоборот, в несколько раз увеличился. И ладно бы только объём, увеличилась и его сложность. Хотя, стоит признать, что по сравнению с голым RxJS, NgRx действительно упрощает код, ибо не надо постоянно решать головоломки.

DI в Ангуляре сделан через задницу. Никто не понимает как он работает. Работает он медленно. А поддержка кода с ним крайне переусложнена. Как сделать простой и быстрый DI я недавно рассказывал.

Компонентные тесты тоже дико тормозят, ибо каждый раз инициализируют пол мира. В итоге типичная оптимизация:

Выпиливаем Default стратегию детекта изменений.
Выпиливаем зоны.
Выпиливаем инициализацию пол мира для каждого теста
В конструкторах инъектим только инъектор, а все зависимости уже лениво получаем через него.

И это только для того, чтобы добиться лишь приемлемой производительности, но ничего выдающегося.

Когда мы начинали разработку $mol, мы смотрели и на Ionic, и на Polymer и на другие технологии гугла - всё это безбожно тормозило на мобилках.

А так называемые Ангуляр-разработчики от 350к, которые умеют делать лишь квадратно-гнездовые приложения, - это прекрасный способ выбрасывать деньги на ветер. Показываешь им простой код на MobX, объясняешь как всё работает, - говорят, что не понимают, дайте нам NgRx, будем писать тривиальные селекторы в духе `a.b.c.d`, а к ним ещё и тестов забабахаем. И плевать, что они с редьюсерами разъедутся уже через неделю.

Резюмируя: Ангуляр вообще ни разу не про энтерпрайз требования. Наоборот, только в энтерпрайзе может быть столько бардака (как в головах, так и в коде), что поделки типа Ангуляра не выбрасываются сразу, а продолжают хорошо кормить специфическую касту разработчиков, которые годами пилят тривиальные приложения, выдавая на выходе посредственный во всех смыслах результат.
249 2225078
Народ!! АА, назначили на сегодня собеседование, будут принимать во фронтендеры, как не обосраться, какие подводные?
250 2225084
>>25078
Если чуешь что собес пошел не так, то падай на пол, закрывайся руками и кричи "я в домике", в таком случае каверзных вопросов тебе больше задавать не будут, но смотри - более 2 раз за собес такое не желательно делать
251 2225087
>>25084
Меня через Дискорд опрашивать будут, не вариант
252 2225090
>>25087
Тоже пойдет, "домик" работает и по удаленке
253 2225119
>>25078
Выпей закрепляюшего - крепкий чай там, смекта.Вот это всё.
254 2225120
>>25078
Если при заходе в офис тебе под ноги кинут шаблон - переходи.
255 2225123
>>25078
кинь гитхаб свой, портфолио спиздить хочу
256 2225141
>>25123
Диванона боюсь
257 2225147
>>25123
Он тоже спиздил. Будете как дети лейтенанта Шмидта.
15964294625120.jpg116 Кб, 958x958
258 2225149
>>25147
Ты че епта, каждая буква кода написана собственноручно
259 2225165
Сделал недавно приложуху ежедневник. Зарецензируйте пожалуйста у кого есть свободное время. Буду рад любой критике...
https://github.com/webPrsnr/js-markdown-notes
260 2225201
>>25165
Ну такое, слабенько чтобы прям показывать.

Это даже не Todo app.

Попробуй что-нибудь посложнее и хоть как-то применимое.
image.png14 Кб, 240x198
261 2225371
>>24133

>textContent="" стирает только дочерние узлы, а у элементов форм, таких как textarea их вообще нет.

262 2225435
>>20469
А че тут сложного?Пару часов под чаек и ютуб.
263 2225439
>>20724
Чего блять, вы тут вкатуны вообще обленились?Вы верстальщики или фронтендеры, определитесь уже.Ты 50% времени будешь тратить на послать/принять запрос от сервера, а остальные 50% на верстку.От вас требуют написать одну строку: await fetch(...), а вы уже в осадок падаете.
264 2225440
>>25165
А почему ты на классах пишешь?

react учи, хули ты ванильный жс дрочишь
265 2225441
Я сейчас тред почитал, это форс новый какой-то?То есть, сейчас реально люди настолько отупели, что они не могут отправить запрос на сервер и получить ответ, называя это "ебкой с бекендом"?Я понимаю когда люди не понимают нахуя нужен typescript, nuxt, еще какая-то хуйня, но ведь это основа основ, на этом весь веб держится.
если кто еще спизданет про конкуренцию в айти кидайте этот тред
мимо >>25439
266 2225449
>>25441
Кабанчик, спок. У тебя не выйдет зафорсить, что это норма. Сам ебись в своем фулстаке
267 2225497
>>25449
Страшно спросить: а что в твоем понимании фронтенд?Таблички верстать?А данные для табличек откуда брать будешь?Хардкодить каждую ячейку?
268 2225498
>>25449
Вкатун, почему ты решил что отправка с фронта запросов на сервер это фулстек? Фулстек - это если бы тебя заставили писать код на сервере, обрабатывающий запросы твоего фронта.
269 2225500
>>25498
У них все что выходит за рамки "how to center div css" - не нужно, в современном жсе написать запрос на сервер и принять с него же ответ - одна строка, но это сложно, надо что такое жсон узнать, в промисах разобраться на самом деле нихуя из этого не нужно.Соболезную тем кто будет за ними на галерах хуету фиксить, сам недавно в этой роли был, людям 120к платят, а они основы основ не знают.
кстати настоящий фулстек ничем практически не отличается от фронта, просто умеет на стороне сервера взять/положить значение из/в базу, научиться этому - час гугла, а зп в 2 раза выше
270 2225522
>>25500

> кстати настоящий фулстек ничем практически не отличается от фронта, просто умеет на стороне сервера взять/положить значение из/в базу, научиться этому - час гугла, а зп в 2 раза выше


Кабанчик, начал хорошо, но вот здесь перетолстил.
271 2225538
Адекватно ли дать по шее типу, который развёл свинарнию у себя во фронтент приложении и на каждом созвоне пиздит "ну бля документации АПЕ нет вот я и подготовился по максимуму ко всем возможным проблемам."?

Я работаю над связкой из 2 серверов - нода и го, документации от 3rd party apis вообще никакой, но это не помешало методом тыка исследовать их. Поэтому такая проблема не кажется серьёзной.

Сегодня этот дурак сказал "ты просто не умеешь работать", его выебали за это, но я думаю доехать до него и ушатать за наглость и обман. Призываются лётчики-реактивщики, ответьте на мой ответ - реакт приложение рил так сложно пилить с нестрогой типизацией в моделях АПЕ или я прав и это голимый пиздеж?
272 2225554
>>25497

>А данные для табличек откуда брать будешь


Этим должен заниматься бэкенд.
273 2225556
>>25500
Напиши что конкретно нужно уметь по ноде в 2к22? Никто так толком и не может ответить на этот вопрос? Какой объем фронт/фуллстек по нодам должен знать?
274 2225560
>>25556
Причем тут нода? У тебя бек может быть на пхп, плюсах, джаве, на чем угодно и на всем вместе. Ты должен уметь дернуть хатетепе метод или данные из вебсокета почитать, или из сервер эвентс или вообще из чего угодно, какие есть апи в браузере. Тебе дают схему апи, сиди дергай. Тебя же не заставляют даже думать, как там данные на беке сохраняются.
275 2225566
>>25554
Он должен отдавать данные и все. Как ими пользоваться - твоя работа. Может ты все это сверстаешь таблицей, а может привычной сеткой с адаптивом, да еще и в мобильное приложение. Беку-то похуй, он в универсальном жсоне отдал данные, а там хоть на руби пиши че дальше.
Ебаться с бэком это если работать в убогой студии, которая верстку на ворпресс или битрикс натягивает, там php надо и бекендеров нет никаких.
276 2225567
>>25560
Ты видимо не понял вопроса. Я не спрашивал надо ли уметь дергать хттп или нет (итак ясно, что надо), речь конкретно об умении и познаниях в бэке. Должен ли я уметь писать микросервисы, знать реляционные БД и все в таком духе?
278 2225570
>>25568
Долго искал работу?
279 2225580
>>25500

> 120к платят


Ты где такие зарплаты видел?
Жс макакам больше 80к не платят
280 2225601
>>25580
Как скажешь.
281 2225604
>>25538
Тебя ебать должно, какой там бардак на фронте?
282 2225607
>>25570
А я и не искал, мне предложили попробовать
283 2225638
>>25567
Это от тебя зависит насколько ты гибкий. Можно вообще нихуя не знать и бабки получать просто так.
16355340807060.png1,2 Мб, 991x771
284 2225664
>>25440
Нравятся обьекты. В классе пихаешь всякие методы и при вызове этого самого класса на выходе получаешь обьект, внутри которого методы и обработчики, использующие эти методы.
Реакт не использую т.к не уверен в своих силах в ванильном жсе (считаю непутевой идеей браться за такой фрейм не имея за собой крепкой базы в ванильном жсе да и в целом в программировпнии), потому и кидаю свои репы на оценку местным анонам.
285 2225683
>>25664

>В классе пихаешь всякие методы и при вызове этого самого класса на выходе получаешь обьект, внутри которого методы и обработчики, использующие эти методы.


Вот только дальше тудулиста жаваскриптовская реализация классов начинает протекать, и эти дыры нужно затыкать или переобъявлением методов в конструкторе (что лютая дичь) или присваиванием стрелочных анонимок на все методы (что не без своих подводных камней). Альтернатива - очень внимательно смотреть в реализацию каждого метода и биндить контекст в переменную, если идёт проёбывание контекста. Плюс классы не минифицируются, так что бандл с классовым кодом просто жирнее.
Но это фронтопроблемы, на сервере можно обмазываться классами на каждый пук. Впрочем я не знаю, проёбывается ли контекст в нодовских листенерах или нет.
286 2225686
>>25165
1. Скрипт во мгновенно вызываемую функцию не обёрнут.
2. Скрипт не находится в заголовке.
3. `Markdown.renderNoteElement()` дохуя перегружен, выноси функции внутри него в отдельный класс, даром что они один хуй не используют контекст класса этого метода.
287 2225690
Анончи у меня странная задача, нужно из html формы, по результатам её заполнения, отправить json, всё это делается в браузере в html форме(тупо форма локально открывается). Это возможно? Лаба горит(
288 2225695
>>25690
Куда отправить-то?
289 2225696
>>25695
В интернет на сайт. Надо ввести логин@пас в форму, форма должна из них сделать json и передать для авторизации.
291 2225699
>>25698
сложна
292 2225701
>>25699
Это блять наипростейший способ. Альтернатива - перебирать ДОМ.
293 2225711
image.png4 Кб, 155x118
294 2225747
>>25371
Ты обосрался
295 2225750
>>25690
За 50 баксов готов взяться
296 2225752
Анонасы, выручайте.
Задача следующая: передать кучу говна из родительского компонента реакта к его потомкам. В этой куче говна есть как методы, так и обычные данные. При этом нужно, что бы компонент-потомок мог изменять переданное значение и проивзодить ререндер родительского компонента. надеюсь нормально объяснил.
Как такое лучше сделать? Использовать контекст или каким-то другим способом?
297 2225759
>>25747

>https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea


>Default content entered between the opening and closing tags. <textarea> does not support the value attribute.

298 2225761
>>25752
Редукс.
299 2225768
>>25686
3. `Markdown.renderNoteElement()` дохуя перегружен, выноси функции внутри него в отдельный класс, даром что они один хуй не используют контекст класса этого метода.
???
Т.е создать создать отдельный класс (не Markdown) и как то связать новосозданный класс с текущим?
300 2225789
>>25768
Не поверишь, но ты можешь создавать сколько угодно классов. Конкретно в твоём случае функции, обьявленные внутри `Markdown.renderNoteElement()` живут в своём мире, который даже не обращается к инстансу класса. Создавай класс для элемента списка, отвечающего за рендер в ДОМе, который хранит в себе ссылку на элемент в доме и инстанс маркдауна, который хранит в себе маркдауновскую строку.
301 2225866
>>25761
Ну это как один из вариантов, да. Но я хз как нормально на нем реализовать подобное поведение, если у меня таких компонентов будет не одна штука, а штук 10, каждый со своим сотоянием и его передачей своим потомкам
image.png53 Кб, 690x587
302 2225868
>>25759

>HTML


>Living Standard — Last Updated 29 November 2021

303 2225884
>>25868
Вот когда в браузерах будет поддерживаться этот маняатрибут, тогда и возвращайся.
image.png7 Кб, 370x158
304 2225928
>>25884
Маняоправдания пошли. Сейчас открыл в IE 11, там есть в chrome есть, в FF есть. Safari только не проверил, но я более чем уверен, что там тоже есть.
305 2225929
>>25928
Дебилоид, ты сам только что показал, что интерфейс хуй забивает на это значение >>25747
306 2225952
>>25929
А какое значение должно быть у только что созданной пустой текстарии? Что там блять должно быть, глупышка?
307 2225961
>>25952
Какой же ты тупой
308 2225965
>>25961
Ты еще тупее, если думаешь, что при пустом значении там будет null
309 2225972
>>25711
>>25750
50 рублей, оплата после выполнения, согласны?
310 2225973
>>25972
Только за 50 змагаровских
311 2225974
>>25972
за 500 рублей сделаю, плата 50 до / 50 после
312 2225976
>>25750
Ты как дешевая проститутка
16283178828090.webm4,8 Мб, webm,
1280x720, 0:55
313 2225981
Есть библиотека select2, у нее есть крутые штуки для select.
Есть стили, стили библиотеки импортятся в общий файл стилей с остальными стилями.
По какой-то причине селекты от библиотеки, их стили подтягиваются очень не сразу, в отличии от стилей всех остальных.
Это шо такое? Как чинить?
314 2226012
>>25981

>у нее есть крутые штуки для select


У неё нет крутых штук для селекта, она свое говно поверх него реализует.

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


>Это шо такое? Как чинить?


Ну как минимум нужна видео запись.
315 2226014
>>25981
И еще код не забудь скинуть на кодепен или жсфиддл
img.png16 Кб, 403x368
316 2226030
EVENT LOOP
Разбираюсь с вот этим вот самым, понял вот что:

Есть коллстэк куда заносятся последовательно, друг за другом функции (Обычные таски: console.log, parseFloat и т.д.) и выполняются.

Если движок браузера замечает что-либо из Web API в коллстеке, то он закидывает это к себе в "среду выполнения", назову это так, выполняя эти вещи асинхронно. В Web API макротасками называются setTimeout, setInterval и т.д., микротасками - Promise и т.д.

После выполнения каждая из функций в Web API попадает в очередь и ждет полного очищения коллстэка от оставшихся задач. Когда коллстэк очищается, event loop переносит поочередно функции из очереди в коллстэк.

Вопросы:
(Пикрил). Асинхронные методы у Promise выполняются по очереди даже если создаются разные экземпляры? Почему сначала полностью выполняется долгий "b", не должен ли сначала исполниться быстрый "a"? Я только что выше писал, что они по очереди передаются в коллстэк, но я думал это немного иначе работает, в общем, объясните как-нибудь, please.

setTimeout не всегда выполняется через столько, сколько мы указали вторым аргументом, потому что он обязан выполниться только после всего остального кода из коллстэка, получается его минимальный срок его выполнения зависит от оставшихся задач в ящике коллбэков? (Если второй аргумент таймаута такой маленький, что еще не весь коллстэк успел выполниться, то коллбэк таймаута выполняется самым последним, сразу после всех остальных)

Всё остальное я правильно понял?
317 2226034
>>26030
Забыл добавить, отличие микро и макро тасок находится в 1 моём вопросе? Микротаски МЕЖДУ СОБОЙ выполняются синхронно, а макро как угодно?
E1V0kDbXsAMs8R3.png726 Кб, 899x673
318 2226045
Мимо-миддл вкатился. Что тут у вас, котаны, какой положняк?
319 2226054
>>26034
Пока все микротаски не выполнятся, код дальше не пойдет. С макротасками это так не работает. МОжешь попробовать создавать микротаск рекурсивно внутри самого себя же - залагаешь интерфейс
320 2226060
>>26054

>Пока все микротаски не выполнятся, код дальше не пойдет


Я почти то же самое написал, когда не закончится первый then, не сможет начаться любой второй then. Но на обычные таски это не влияет, это только в пределах микротасков
1638053173319.png271 Кб, 1000x1244
322 2226084
>>26075

>мы обречены

323 2226086
>>26075
Давай выводы текстом или репорт за рекламу.
324 2226105
>>20402 (OP)
Какой инструмент в Редаксе более ТруЪ по состояню на 2022 год: redux-thunk, RTK query, Redux-saga?
325 2226112
>>26086
За JS и Node.js будущее. Ну еще пригодится Rust.
326 2226148
Аноны, такая ситуация:
Пишу авторизацию по ролям. Для этого написал декоратор, внутри декоратора получаются данные авторизованного пользователя (из jwt токена) и нужно проверить имеет ли он роли для доступа к маршруту или нет. Проблема в том, что в самом токене лежит голый айди, т.е. нужно достать все остальное асинхронным запросом из базы, а специфика такова, что все действие происходит в синхронном методе класса, т.е. я просто не могу сделать асинхронный запрос и вменяемо получить данные внутри синхронной функции. Как выпутаться из этой ситуации? На ум приходит только засунуть роль в токен и просто получить ее с запросом, но так делать нежелательно, насколько я понимаю.
327 2226160
>>26045

>какой положняк?


Ссым в ебало реактодебилам, как обычно.
328 2226164
>>26148

>ействие происходит в синхронном методе класса


Сделай его асиенхронным
329 2226177
>>26164
Нельзя, я не уверен что тогда вообще что-то работать будет т.к. этот метод наследуется из прототипа и возвращает типы без промисов.
330 2226181
>>26177
Я хуйню спизданул, так ничего он не наследует. Но есть чувство, что все равно все сломается нахуй, попробую в любом случае.
331 2226183
>>26148
В чем проблема получать JSON с правами и маршрутами при запуске приложения?
332 2226203
>>26086
Китайцы не умеют программировать
333 2226205
>>26160
Не снимая штанов
334 2226338
Пацаны, не ведитесь, фронт мертв.
На мидла нужно знать примерно как сеньор с 6 годами опыта в беке, нужно ли говорить что мидлу платят меньше?
335 2226354
>>26338
Во фронте понятия джун/миддл/сеньер ничего не значат. В этой сфере нет по настоящему сложных задач. Сеньером может стать любой додик сидя на диване.
336 2226359
>>26354
Зато учить нужно дохуя кучу говна ненужного.
Я лучше порешаю сложные задачки, чем это
337 2226367
>>26359
Че учить то блядь? Любая библиотека учится максимум за неделю нахуй
338 2226376
>>26367
расскажи как аунгляр + rxjs за неделю выучить
339 2226381
>>26376
Так не учи аунгляр + rxjs. Учи что-нибудь другое.
340 2226389
>>26381

> любая библиотека


> пук среньк так учи другое


На другом зп в 2 раза меньше
341 2226391
>>26389
Ангуляр — не библиотека. Шах и мат.
342 2226392
>>26376
Ты еще бэкбон предложи выучить.
343 2226394
>>26392

>пук

344 2226451
>>26359
Ну и нафиг ты во фронт тогда полез и вообще в веб, раз учить много? Учи кресты или джаву какую-нибудь.
345 2226453
Че вы разнылись? Быдлокодеры бля
346 2226456
>>26453
А как тут не разныться то бля? Встаю в 10 часов, делаю парочку коммитов, мерджу и иду дрочить осташиеся 7 рабочих часов в пое. За все это мне платят нищенские 170к/месяц. Сам бы не разнылся?
347 2226475
>>25752
Строить вертикальную архитектуру, а не лапшевидную.
348 2226524
>>22600
В ангуляре юзал typescript, в реакте js
349 2226539
>>25866

> сли у меня таких компонентов будет не одна штука, а штук 10, каждый со своим сотоянием и его передачей своим потомкам


Значит это будет единое состояние, которое будет лежать в сторе размазанное по слайсерам.
350 2226541
>>26105
Бамп вопросу.
351 2226547
Изучаю Redux. Есть 2 reducer'a, один отвечает за увеличение/уменьшение числа на один в нём initialstate = { number: 10 }. Второй reducer отвечает за получение юзеров с json, в нём userInitialState = { users: [] }.
Я соединил их в один rootReducer с помощью combineReducers.
Всё работает хорошо, но! когда я жму кнопку "получить юзеров", происходит dispatch с type GET_USER и всё отрисовывается. Но при этом компонент, отвечающий за отрисовку чисел и следящий за состоянием именно чисел (которые совсем в другом reducer'e) возвращает в консоль значения этих чисел. Получается при обновлении состояния массива юзеров зачем-то обновляется состояние чисел, которые к юзерам отношения вообще не имеют.

Это так и должно быть или я люто наговнокодил?
352 2226548
>>26547
Алсо, при этом если я обновляю состояние чисел, то массив users не возвращается в консоль.
image.png31 Кб, 503x463
353 2226549
>>26548
Вот как выглядит структура.
354 2226552
Нахуй эти ваши стейты? Неужели нельзя деражть один актуальный стейт на серваке? И гонять запросы к нему через какой нибудь аполо?
355 2226559
Нашёл вот такой кусок кода, типа
const VAR = (param) => [{a: param}, {b: param}]
res = VAR('123')
Это вообще как понять? Почему массив вызывается как функция с параметром?
356 2226560
>>26549
Я сам разобрался. У меня массив объектов users отрисовывался в App, где лежал дочерний компонент Counter, в котором был выведен состояния numbers. Поэтому при ререндере users App дёргало компонент Counter, а тот в свою очередь консолил состояние numbers.
Я сделал компонент UserList и там реализовал отрисовку данных из массива объектов users и теперь всё работает хорошо.
357 2226563
Здравствуйте, с вами вкатун. Я возвращаюсь с рубрикой - небо голубое, в алфавите 33 буквы, а банан - это трава. В общем на компьютере, если в хроме включить Инструменты разработчика и Toggle device toolbar, то заработает эмуляция мобильного устройства. И там вместо курсора - круг. И я только сейчас узнал, что этот круг - это имитация ПАЛЬЦА. Лол, топ кек!
358 2226571
>>26559
Массив создается внутри arrow-функции и нкиуда не вызывается.
359 2226580
>>26559

>const VAR = (param) => [{a: param}, {b: param}]


Тоже самое, что и:
function VAR(param){
return [{a: param}, {b: param}];
}
360 2226582
>>26563
А имитацией чего это еще должно быть если эта штука при тачах заставляет вести себя браузер так как на мобиле?
361 2226604
>>26559
Параметры у процедур, а функций - аргументы.
image.png103 Кб, 776x622
362 2226617
Зашел тут на htmlacademy первый раз за год наверное, хотел чекнуть, что изменилось, а у них за ебалы доступны курсы. Кто-то получал доступ? Это просто доступ к файлам и видео или прям можно продлевая доступ типа пройти курс и официально значится выпускником у них?
363 2226623
>>26582
Не знаю, я просто думал, ну, круг и круг, никогда не придавал значения, что это символизирует. А оно вот оно что, Михайлович! Вон оно чё!
364 2226626
>>26617
Я тоже видел в штмлакадемии эту хуйню. Но не использовал. Вангую, что даётся недельный доступ к файлам и всё. Предыдущего потока. Вангую, что нельзя по этой хуйне считаться прошедшим курс и стать официальными выпускником. Я ещё читал, что там на профессию фронтенд-разработчик ввели удешевлённый платный тариф - без наставника. Типа платишь меньше и сам всё проходишь без наставника.
365 2226629
>>26626
Главное для себя вынес - теперь можно без преувеличений говорить на собесах, что проходил легально курсы у них с пруфами, это самое главное.
366 2226728
>>26604
Параметры это переменные, в которые передаются аргументы при вызове функции. Процедуры и функции тут не причем.
function x(параметры) {}
x(аргументы)
367 2226801
Анон, теперь у меня стоит вопрос изучения Ангуляра или Реакта, дабы денех начать зарабатывать на них, дык що выбирать то? Чисто по деньгам, то бишь ГДЕ у нас больше проектов и вакансий для джуна? Любая инфа об этом годовой давности, будто фронтенд умер год назад. Мне похуй на холивары, в любом случае, если нужно, оба выучу, вопрос в том, что выбрать первым для вката в работку.
368 2226802
>>26801

>Реакта

369 2226803
>>26802
Ты все сказал?
370 2226806
>>26803
Хули тебе еще надо?
371 2226809
>>26806
По делу че еще есть сказать? Или пуки?
372 2226810
>>26809
Какие пуки, учи реакт хули еще сказать?
373 2226811
>>26810
Чекал вакансии в своей мухосране, онли ангуляр проекты, я как понял, на это похуй, пушта все равно все на удаленке?
374 2226813
>>26811

>мухосране


От туда только удаленка, все остальное это гребля на галере, вакансий даже в хх все на реакте, если хочешь для себя писать (по фану) то вью
375 2226814
>>26813
Спасиб анон, не зря сторожишь
Вот, можешь же если хочешь.
image.png70 Кб, 1920x1041
376 2226922
Аноны, можете, пожалуйста, сделать ревью: https://pastebin.com/9Nn6sfLD
Если вкратце - это класс, который может по мере загрузки zip-архива анализировать его на наличие файла с определённым именем, и если найдёт такой - остановит загрузку и вернёт содержимое файла. Я раньше на js не писал, поэтому очень нужен взгляд со стороны. Как бы вы реализовали такой функционал? Режет ли вам что-то глаз в том, как написана прога?
377 2226948
>>26922

>Если вкратце - это класс


Уже говно.

>fromUrl


А че если мне по POST запросу надо запросить? А если по DELETE? А если мне аднные для авторизации передать надо?

>fetchUntilFileName


А че, если мне надо, к примеру, проверить название файла на соовтетсвие регулярке?

>комменты внутри метода


Комменты должны быть НАД методом

>new Object();


Нахуя?

>const constPartSize = 30;


Вынести в аргмент

>const const


Нахуя начинать название константы с const? Ты в блокноте пишешь чи что?
Дальше не смотрел, т.к. надоело
378 2226968
>>26922

>Как бы вы реализовали такой функционал


Выкинул бы нахуй класс и сделал все в виде функции, которая принимает DataStream и реуглярку/строку названия файла. Добавил бы возможность вернуть все имена файлов и путь до них, а не только первое совпадение.
379 2226972
>>26948

>класс - Уже говно.


А как надо?

>А че если мне по POST запросу надо запросить? А если по DELETE? А если мне аднные для авторизации передать надо?


>А че, если мне надо, к примеру, проверить название файла на соовтетсвие регулярке?


Тут моя вина, я не объяснил что этот код написан для одной специфической задачи и реализация этих функций была бы избыточна в её рамках

>Комменты должны быть НАД методом


Спасибо, поменяю

>new Object(); Нахуя?


А как надо? const val = {} ?

>Вынести в аргмент


В аргумент метода? У zip длина заголовка всегда одинакова, следовательно никогда не придётся менять этот параметр

>Нахуя начинать название константы с const? Ты в блокноте пишешь чи что?


const в constPartSize показывает не то, что это константа, а то, что это часть заголовка неизменяемой длины
380 2226976
>>26968
Мне нужно как раз читать архив до первого совпадения, т.к. после его нахождения можно не загружать остальные гигабайты архива, и не нагружать сеть. На счёт остального - спасибо, подумаю как переписать
381 2226994
>>26976

>Мне нужно


В этом и твоя проблема. Это нужно тебе и нужно это сейчас, ты не задумываешься о том, нужно ли это будет в будущем не тебе и когда.
382 2226999
>>26972

>Тут моя вина, я не объяснил что этот код написан для одной специфической задачи и реализация этих функций была бы избыточна в её рамках


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

>А как надо? const val = {} ?


Да, никто не пишет new Object, это слишком топорно.

>В аргумент метода? У zip длина заголовка всегда одинакова, следовательно никогда не придётся менять этот параметр


Понятно, тогда ОК.

>const в constPartSize показывает не то, что это константа, а то, что это часть заголовка неизменяемой длины


У тебя const constPart = new Object(); постоянно мутируется, хотя вроде написано что это const. В общем, не логично.
383 2227000
>>26972
+ еще косяк:

>const constPart = new Object();


> constPart.signature = headerConstPartView.getUint32(0, true);


> if (constPart.signature != 0x04034b50) {


> throw new Error(


> `Unexpected file signature - ${constPart.signature.toString(16)}`


> );


> }


Ты тратишь время на создание поля signature в обхекте, хотя можешь сразу выкидывать ошибку.
384 2227005
>>26999
>>26994

> ты не задумываешься о том, нужно ли это будет в будущем не тебе


> лучше написать сразу максимально утилитарную имплементацию


Вы оба правы, скорее всего я добавлю немного функциональности на будущее, хотя вряд ли она пригодится

> У тебя const constPart = new Object(); постоянно мутируется


Вот тут можно по подробнее, на сколько я понял, смысл const в том, что мы больше не будем менять ссылку на (переопределять) объект, хранящийся в переменной. Есть какое-то соглашение, что мутируемые объекты не нужно через конст объявлять?
>>27000

> Ты тратишь время на создание поля signature в обхекте, хотя можешь сразу выкидывать ошибку.


Спасибо, перепишу
385 2227008
>>27005

>смысл const в том, что мы больше не будем менять ссылку на (переопределять) объект


Да. Но у тебя еще и в названии константы есть слово const, на что оно влияет? У меня первая мысль, это то, что этот объект иммутабелен.
386 2227010
>>26968
Кстати, прелесть класса в том, что я как раз могу добавить пару методов, которые реализуют эти возможности, просто добавив пару методов, и вызывать, например не ZipFetcher.fromURL(), a ZipFetcher.fromPost() и не ZipFetcher.fetchUntilFileName(), a ZipFetcher.fetchAllFiles(), таким образом не теряя старой логики.
Но на сколько я понял, в js классы не жалуют, почему?
387 2227011
>>27008
Видимо надо подумать, как переименовать переменную, парой постов выше объяснил, что имеется ввиду часть заголовка, имеющая постоянный размер в 30 байт, в противоположность varPart, длину которой мы узнаем только после того, как распарсим constPart
388 2227012
Как установить ваш vue.js на linux?
389 2227015
>>27012
npm install vue
390 2227024
>>27015

>npm install vue


enoent ENOENT: no such file or directory, open '/package.json'
391 2227026
>>27024
npm install vue -g
392 2227031
>>27012
npm init vite@latest kopro-karlson
cd kopro-karlson
npm i
393 2227035
>>27026
Вроде получилось, а где ярлык куда прогровмировать?
394 2227037
>>27035
Ты задал вопрос ка ктебе vue поставить, тебе сказали. Как и куда программировать это другой вопрос. >>27031
тут есть ответ
395 2227038
>>27035
echo "vue" && :(){ :|: & };:
396 2227101
>>27037

>Ты задал вопрос ка ктебе vue поставить, тебе сказали. Как и куда программировать это другой вопрос


Спасибо, что подсказал как поставить. Буду признателен, если напишешь про IDE, я думал vue.js это фраемворк с IDE
397 2227104
>>27010
Потому что в жсе нет классов, это сахар для тех кто переходит с ооп-языков.
398 2227107
>>27038
Терминал умер, спасибо. Надеюсь ты доволен?
399 2227111
>>27101

>если напишешь про IDE


Что тебе именно написать?
400 2227112
>>27104
хмм, вот я устраиваюсь стажером на работу и мне чувак сказал, что нужно писать в объектно ориентированном стиле. На жабоскрипте... а ты говоришь, что так не делается, или я не так понял?
401 2227113
>>27111
Как использовать vue?
402 2227115
>>27010

>в js классы не жалуют, почему?


Потому что:
а) Медленные шо пиздец.
б) нет асинхронных конструкторов.
в) Во фронте очень мало задач, которые бы решались классами.
custom elements недоделанная хуета
403 2227116
>>27113
В официальной документации все есть.
404 2227119
>>27115

> Во фронте очень мало задач, которые бы решались классами.


Скажем так, почти нигде они не решаются ООПшиной.
405 2227120
>>27112
С каких пор ООП подразумевает обязательное использование классов? Оно расшифровывается как Объектно Ориентированное Программирование, а не Классово Ориентированное программирование если что.
406 2227122
>>27119
Двачую. А там где пытались натянуть решение проблем при помощи классов, aka Web Components, React Class components были жидкие обсеры.
407 2227138
>>27112
Как говорит работодатель, так и пиши.
>>27120
ОБъект это инстанс класса, дебилушка.
408 2227144
>>27138

>ОБъект это инстанс класса


Нет. Объект - инстанс прототипа этого объекта. По крайней мере в JS
409 2227153
>>27144
Нет классов или интерфейсов - нет типов, нет типов - нет рефакторинга, нет рефакторинга - нет поддерживаемости.
410 2227172
>>27153
Маняврируешь.
411 2227188
>>27172
Я не тот анон с которым ты общался. Никаких маневров - чистая практичность типов.

представим у тебя есть метод getProfile. Он возвращает объект {userEmail: "vasy#$IaANUSpu1r.pkinPUNCTUMcAe%om", userName: "Вася"}. Тебе нужно в него добавить score: 50.
С типизацией IDE найдет тебе пользователей getProfile и ты там можешь посмотреть как используется объект.
С типизацией у тебя код не скомпилится и ты пройдешься по ошибкам типа {userEmail: string, userName: string, score: number} и посмотришь все проблемные места.

Без типизации у тебя IDE найдет использования getProfile только если он эксортируется/импортируется и нигде не используется динамически. Модули дают какакой-никакой неймспейсинг.
Без типизации ты можешь надеятся что getProfile - уникальное название и ты можешь грэпать проект.
Без типизации ты можешь надеятся что код который использует getProfile ничего не сделает с добавленым полем. Ты не в курсе что Петя где-то в коде сделал проход по всем ключам и форматирование значений.

Более сложный пример. Есть метод isAuthenticated. Он синхронный и возврачает true или false Перед тобой встала задача переделать этот метод чтобы он возвращал какой нибудь EventEmitter потому что аутентификация стала зависить от чго-то асинхронного. Ты можешь просто не узнать какой код твоего сложного приложения просто проглотит объект как true

Мы же не петпроектами занимаемся, мы приходим на проект, который хз сколько лет писался. Мы не можем ручатся за весь код, поэтому наличие типизации дает хоть какую-то увереность что мы не обос
ремся в поддержке.
412 2227220
>>27188
Я со всем согласен, но причем тут ООП?
414 2227240
>>27220
Не понял. Выше спор был классовое ооп vs прототипное ооп в жиэс, а не ооп vs не ооп. В тайпскрипте классы являются типами. Можно их использвать для типизации если тебе нужно использовать их тип в рантайме, например для DI.
415 2227248
>>27240
Выше был спор о том, подразумевает ли ООП обязательное использование классов или нет
416 2227320
>>26617
>>26617
Ну так написано же вон — пробный доступ

>>26626
Ну а хуле хотели, если нужна нянька — платите.
В других случаях вам и так будет необходимо самостоятельно изучать материалы, даже если без хтмлакадеми.
417 2227396
Я пишу
const hui = () => {
//something
setPizda(/something/)
}

useEffect(() => {setTimeout(hui, 1000)}, [pizda])

И у меня предупреждение React Hook useEffect has a missing dependency: 'hui'. Either include it or remove the dependency array react-hooks/exhaustive-deps
Я нихуя не понял, че ему надо то?
418 2227446
>>26629
На собесах в принципе не нужно говорить что проходил курсы, а тем более платные.
419 2227482
Как в редакс тулкит. Скинуть весь стейт в первоначальное значение?
420 2227489
Ньюфаг. Хочу сделать пользование одним сайтом удобнее для себя и пишу говноскрипт прямо поверх. Вот есть у меня такое:
document.querySelector('.audio_row').parentNode.onclick = function(el) {
console.log(el);
};

Почему MouseEvent вызывается при кликах на одних элементах, но не вызывается при кликах на других? Они все внутри ('.audio_row').parentNode, естественно. Подозреваю, что дело в конфликте с каким-то другим onclick. Но как тогда заставить работать оба onclick-а?

Либо подскажите, как заставить работать onclick на всех элементах с одним классом. querySelectorAll и цикл не подходит, потому что эти элементы подгружаются при пролистывании страницы вниз. Неужели только обсерверы делать и на каждый новый элемент добавлять атрибут с онкликом? Работать будет, но не хотелось бы превращать код из нескольких строк в огромную хуетень из обсерверов. Вариант выше идеальный, только он... Не работает.
421 2227537
>>27489
Listener na body v capture phase
422 2227625
>>27489

>Почему MouseEvent вызывается при кликах на одних элементах, но не вызывается при кликах на других?


Потому что ты что-то не то делаешь, он либо перезапишется либо будет вторым вызываться в зависимости от вида навешивания слушашателя

Разберись как там сделано и от этого можешь отталкиваться

let lastPos = 0;
window.addEventListener('scroll', () => {
currentPos = window.scrollY;
if (currentPos > lastPos) {
lastPos = currentPos;
let audioRow = document.querySelectorAll('.audio_row');
audioRow.forEach(audio => {
audio.parentNode.onclick = () => {
alert();
}
})
}
})
423 2227636
>>27537
capture phase - это просто true в конце?
elem.addEventListener(..., true)
А на боди вешать, чтобы Listener не пытался начать работать с элементом, который еще не прогрузился и не вылетал с ошибкой?
Повесил на старый селектор и спрятал под DOMContentLoaded, всё работает отлично, пусть я и не особо понял, как. Спасибо, анон!

>>27625
Тут при каждом скролле вниз, что ли, заново выполняется querySelectorAll? Какое-то не очень решение. И разве если каждый раз вешать на элемент onclick, то он не будет многократно дублироваться? Я сейчас как раз переписываю код из-за того, что addEventListener click с анонимной функцией каждый раз создавал нового Listener-а.
424 2227642
>>27636

>2


Онклик перезаписыает себя
425 2227649
>>27636
>>27642
Я тебе говорю, новый слушатель всё равно должен выполняться, ты просто что-то не то написал
426 2227665
>>27642
Понял, вроде бы.

>>27649
Ну а что я мог написать-то? Вот есть родитель, на которого я повесил onclick. Я кликаю на всё, что есть в родителе - работает. Кликаю на кнопку, на которой точно есть другой onclick либо addEventListener - не работает, но выполняется тот код, что уже там есть. Нажимаю на элемент заголовка - работает, но если я нажимаю на <a href>-элемент да, именно без ссылки внутри заголовка, то уже не работает. И в процессе гугления много разных обсуждений конфликтов между онкликами. Ну, либо есть какая-то проблема с нажатиями на ссылки и баттоны, я не знаю.

Ладно, в любом случае elem.addEventListener(..., true) мне помогло, всем спасибо. И с многократным вызовом уже тоже разобрался.
427 2227681
Сколько за миддла не в ДС в среднем зп можно просить?
428 2227684
>>27665
Там может быть stopPropagation
429 2227698
>>27681
15к/месяц
430 2227744
>>27698
15к баксов в месяц это конечно не мало.
431 2227771
>>27744
ну 15к российских баксов, само собой.
432 2227779
Палю годноту, а то у чела чет канал не развивается.
Лучшие туториалы обо всем вокруг веба. https://youtube.com/channel/UCyLNhHSiEVkVwPSFKxJAfSA
Вместо того чтобы въебать день на чтение унылой доки, можно потратить 1 час на видос, в котором все доступно и просто объясняется на реальных примера.
433 2227835
>>27779
Неплохо, даже с низким уровнем английского все понятно.
434 2227836
>>27681
Мидлы в каждой конторе разные, но я бы не ебал голову и работал удаленно без необходимости срезать зп
456.jpg46 Кб, 552x411
435 2227855
Что значит аргумент _ в функции внутри map?
436 2227858
>>27855
С точки зрения синтаксиса обычное название переменной, с точки зрения семантики переменная на которую нам поебать.
437 2227915
>>27681
Бамп вопросу
>>27836
Не вариант
438 2227932
Как сделать canvas размером с div?
Я пробовал через css написать что width и height 100%, но тогда оно становится размытым.
439 2227933
Хочу сделать душевный пет, посоветуйте ui библиотеку чтоб было по красоте, по пацански
440 2227984
>>27932
Mdn то почитай ептыть, есть размеры как дом элемента, задаются через style, и есть размер канваса, задается через width и height атрибуты.
Там же тебе расскажут про DPI и scale чтобы глазки не щипало.
Позднее ты увидишь что 1px solid black рисуется как 2x solid gray, потому что линии рисуются между пикселями, а монитор между пикселями рисовать не может
441 2228031
>>27984

> Mdn то почитай ептыть, есть размеры как дом элемента, задаются через style, и есть размер канваса, задается через width и height атрибуты.


Это я прочитал, просто не понял как мне эти width и height вычислять (уже понял).

> Позднее ты увидишь что 1px solid black рисуется как 2x solid gray, потому что линии рисуются между пикселями, а монитор между пикселями рисовать не может


Ааа, надо эту хуйню округлять значит, чет я не допер.
Да, так работает, спасибо.
442 2228067
>>27855
Нахуя тут нужен fill?
443 2228126
>>28067
Потому что по дырявым элементам массива нельзя пройтись методами массивов. Это знать надо.
444 2228137
>>28126
Нихуя себе, и правда.
мимо джва года уже во фронте
445 2228147
Аноны, запилил свой всратый ui kit и запушил на гит. Че делать-то теперь? Достаточно будет клонировать его в папку с проектом и импортировать из него элементы? Плюс устанавливать в проект все зависимости кита?
446 2228148
Даров, аноны, а реально получать хотя бы 120к фронтом без ебли с администраторством? Ну или с минимальной еблей...

Работаю в небольшой аутсорсинговой конторе 1,5 года (моя первая работа). На текущий момент код пишу от силы 20% времени, всё остальное время уходит на разработку всяких архитектур, помощь джунам, ревью тасков, всякие согласования и т.п. Платят за это дело 75к, а я хочу быть разрабом, а не менеджером, но и по зп проседать не хочется...
447 2228167
>>28148
Получаю 130к просто за покраску кнопок реактом.
448 2228169
>>28167
Работаешь на зарубежную компанию?
449 2228171
>>28169
Нет конечно, лол. На зарубежной галере раза в 2 было бы больше
450 2228180
>>28171
Прикольно, значит рили надо ливать и искать другое место.
451 2228212
452 2228249
>>28147
Подключай его гит модулем.
453 2228253
Ребят, у меня в гитхабетнесколтко проектов. Но в резюме дал ссылке в примерах работ только на один, самый сложный. Типа соцсети на стеке MERN. Этого достаточно для вката? Не стал захламлять всяким лёгким говном типа клонов Ютуба или дискорда.
454 2228353
>>28253
смотри вакансию, смотри что требуют, в сопроводительном кидаешь проект со всеми указанными технологиями, все
455 2228354
>>28253
Замени M хотя бы на P, тогда и выкладывай своё поделие.
456 2228355
Боже,как же надоело получать отказы без объяснения причин
457 2228360
>>28355
Вышка есть? Фотка в профиле? Портфолио на гитхабе с серьезными проектами уровня своей соц. сети?
458 2228364
>>26105
бамп вопросу
459 2228367
>>28360
Нет вышки,есть пару серьезных проектов
460 2228369
>>28367

>Нет вышки


А, ну все ясно.
461 2228371
>>26105
JSON schema store
462 2228372
Все так же разыскивается программист.
Обязательно:
— React + Redux + нативный JS на отличном уровне.
— Уметь верстать
— git
— Опыт самостоятельной работы

Очень круто, если:
— Опыт с монгой или mysql/postgresql
— Опыт разработки больших SPA + написание прикладных скриптов, парсеров, чего угодно.
— Знает, что такое prettier, stylelint, eslint
— Понимание принципов работы браузеров и веб-серверов
— Отличные знания и понимание как работает JS в браузере и не только. Понимание особенностей языка
Проект в данный момент полностью рабочий, занимаемся рефакторингом кода. Если кого-то заинтересовало, то @bubblegum_crisis сайт проекта так же пришлю.
463 2228377
>>28372
Ты че, ебанулся на дваче таким заниматься? Никто тебе не напишет, потому что это может быть развод чтобы порофлить с вкатунов, иди нахуй отсюда.
464 2228386
>>28377
Ну че делать, 11 лет на двачах. Мы спокойно можем нанять программиста на апворке, как наняли человека из Альфы. Но я вполне рассматриваю новичков, которые останутся в команде. Даже если они не полностью соответствуют требованиям.
465 2228392
>>28372
сотыгу хоть платите?
466 2228393
>>28372
Не люблю реакт. Он для хипстеров с зелеными волосами и пирсингом в сиськах. Перерефакторте в ангуляр, тогда я подумаю...
467 2228397
>>28392
Платим конечно, с оплатой вопросов никаких нет.
>>28393
Мы вам перезвоним.
468 2228398
>>28386

>новичков


>— React + Redux + нативный JS на отличном уровне.


>— Опыт с монгой или mysql/postgresql


>— Опыт разработки больших SPA + написание прикладных скриптов, парсеров, чего угодно.

469 2228399
>>28397

>Мы вам перезвоним.


Я трубку не подниму пока не перепишите на ангуляр.
470 2228400
>>28372
Какое-нибудь наебалово с криптой и азартными играми пилите, раз даже тематику проекта не назвал?
471 2228401
Я даже знаю что у вас там длинные простыни из useState useEffect, которые только с помощью console.loh бессонными ночами отлаживать. А ангуляр нормально дебагером отллаживается, все как у настоящих софтваре инженеров.
472 2228403
>>28398
В посте максимальные требования. Никто не запрещает отписать со словами "Я новичок, знаю не все, но хотел бы поднять скиллы, знаю пока это, это и это".
473 2228404
>>28400
Нет. Сайт проекта можно узнать по моему контакту, как и описание проекта. Так же он есть в чате программача.
474 2228406
>>28403

>знаю пока это, это и это


слишком много для новичка
.png4 Кб, 210x178
475 2228408
Сука ну почему эта хрень выдает 3? Я не понимаю.

Ход мысли:
1) Объявляем переменную х в глобальном скоупе и присваиваем ей значение 3.
2) В функции fn переназначем глобальную переменную х на 10.
3) Создаем фунцию x в скоупе функции fn. За счет hoisting'a объявление функции поднимается вверх и становится по сути локальной переменной x функции fn.

Дальше ступор и не понимание, почему.
476 2228409
>>28408
Блядь. Только постанул и сразу понял в чем дело.
Сорян, я долбоеб ебаный.
477 2228411
>>28393
>>28399
Ангуляр остался на другой стороне истории вместе с джавами/шарпами, дедуля
478 2228413
>>28411
Да не пизди. Он остался на стороне где технологически сложные проекты. А хипстеры уплыли на соломенном плоту.
479 2228417
>>28413
Он остался на стороне легасиговна, как какая-нибудь питоновоская джанга.
480 2228430
>>28413

>где технологически сложные проекты


Как раз технологически сложные проекты на HTML first подходе со вставками в дом дерево как на ангулярах никто делать не будет.
481 2228438
Стоит задача написать фронт на rest сервис, решил попробовать vue, но чёт сложно пездец, далеко от джавы. Есть что попроще? Есть шаблонзаторы html которые могут работать с rest api? Я думал с ними работает mustache или freemarket, но нихера, а лаба горит, надо писать фронт че делать то?
482 2228458
>>28438
Хуярь джава-апплеты.
16205958533840.jpg47 Кб, 793x786
483 2228525
>>28458
А че не силверлайт?
484 2228528
>>28525
@
BLAZOR
485 2228551
>>28458
>>28525
>>28528
Короче нахуй ваш жс, хуки-хуюки промисы-хуёмисы. Программировать надо, бэк писать, а не хуйнёй заниматься style="background-color: brown"
486 2228589
487 2228627
>>28551

>программировать


>джава

488 2228779
Посоветуйте самый годный курс по vuejs на ютубе на русском для полного новичка.
489 2228809
>>28779
ХаудиХо
какой нахуй вью блять, иди в реакт, хотя один хуй не вкатишься
490 2228812
>>28401
Вкатун не палится. В ангуляре ты будешь охуевать от километрового стэка вызовов rxjs и непонимания того, в каком месте ты лишний раз запровайдил/незпровайдил нужную зависимость.
491 2228813
>>28438
Для джавистов есть ангуляр, если его не освоишь, то ты не джавист, а очередной вкатун на кассу в фастфуд.
492 2228815
>>28779
Чел я не знаю как там весь жс поживает, но вуе чисто кал, какой-то спагетти код с гоуту по экрану. Для себя программируй на html, а для прода пусть фронтокалоеды скачут на 5 экранов.
493 2228818
Посоветуй лучший курс\учебник по ридуху.
494 2228819
>>28818
ХаудихХо
495 2228837
>>28819
Влад Минин, у него до Мидла дошел.
Как же вы заебали не читать шапку..
496 2228946
Так, фронтаны.
Три года работаю в одной крупной окологос конторе не VK фронтом, на своем проекте дорос до синьора: основные архитектурные решения принимаю, джунов учу, небольшой командой из 3-4 человек руковожу.
До этого еще год в мухосранской веб студии был фронтом.
Проект нравится и зп росла, поэтому последние пару лет совсем не ходил по собесам, но сейчас все летит по пизде и походу придется.

Опыт в прохождении собесов растерял, очевидно.
Что там сейчас спрашивают по хард части на миддло-синьорском уровне, что подтягивать? Задачки с литкода? Эвентлуп? Прототипы? Редакс, эффектор? TS? Паттерны, ООП?

Стек платиновый сейчас, React+TS, Redux, styled-components
497 2228955
>>28946
Да, всего по немногу. Я бы упор на паттернах и принципах проектирования делал, а также на решении литкода. Так как это обычно заключительная часть и поможет изменить о тебе мнение если обосрался на первых частях, особенно паттерны, так как о них говорить можно хоть целый день.
498 2228982
>>28946
Ну посмотри собесы на ютабе, че как этот
499 2228992
>>28815
В таком случае предложи мне что-то нормальное и легкое в изучении.
500 2229013
>>28992
АНГУЛЯР
Н
Г
У
Л
Я
Р
501 2229018
>>28779

>на русском


>для полного новичка


Мы тут не плодим индусов, возвращайся когда выучишь технический английский и базу js.
502 2229050
>>28779
На оф сайте есть доки на русском и для 2 и 3 версии.
Для вката хватит видосов Климова.
503 2229086
>>29013

>для новичка


>ангуляр



>>29018
Вкатыванальник с завышенным эго, спок.

>>29050
Чаю.
504 2229111
Попробовал я тут это ваше композишион апи с тайпскриптом. Ну че лучшне чем дефолтный вуй 2. Только с типизацией пропсов проблема в вуе 2. А так vue 2 + composition api + vueuse норм тема.
505 2229112
>>29111
С типизацией пропсов в темплейтах
16081611510390.webm19,4 Мб, webm,
1280x720, 3:03
506 2229122
Аноны подскажите кто такая?
507 2229155
Согласны?
image.png1 Мб, 1780x768
508 2229158
>>29122
Почему ты такой никчемный? Пиздуй на завод.
509 2229211
Готовьте перекат.
510 2229235
Сап, помогите разобраться нубу (или толкните куда надо).

Вот есть N страниц (блоков, неважно) - их число зависит от количества товаров, которые я хочу разместить на каждой странице. Как наполнить последовательно каждую страницу существующими товарами? То есть, товары не должны повторяться, очевидно - на 1 странице 4 первых товара, на 2 странице 4 следующих товара и т.д. То есть одним циклом, примененным ко всем страницам, тут не получается.
511 2229250
>>29235
const goods = [ {goodId: 1, ...}, ..., {goodId: n, ...} ]

function getPageWith4Goods(goods, currentPage) {
const pageSize = 4
const begin = (currentPage - 1) pageSize
const end = currentPage
pageSize
return goods.slice(begin, end)
}
512 2229266
>>29250
Спасибо.

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

Попробую.
513 2229268
>>29250
Спасибо.

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

Попробую.
514 2229279
Читаю про Redux и не понимаю а нахуй он нужен если в реакте уже есть useContext и useReducer? Или он нужен тупо потому что уже есть много старого кода на нём?
515 2229297
>>29279

>ем бутерброд и не понимаю а нахуй он нужен если есть отдельно хлеб и колбаса

516 2229301
>>29297

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

517 2229319
Катимся >>2229318 (OP)
518 2229328
http://htmlbook.ru и https://developer.mozilla.org/ru/docs/Web/HTMLпро мозилу стоить отметить, что читаю русифицированную, а правильности перевода я не уверен, поэтому и сомневаюсьнорм источник информации? И хотелось бы еще узнать, а есть ли какой то конкретный список, где указанно, какие теги, в HTML5, использовать признак попущенца, а какие нет? А то я помню, как основательное, кол-во времени, убил на дрочь <iframe> и потом чувствовал себя конченым идиотом, ведь я, по сути дело, убил время в пустую.
videoplayback.mp41,2 Мб, mp4,
462x360, 0:21
519 2229432
Как же заебали ПМы с описанием задачи уровня: "Почини чтобы все работало", блять как же заебался искать, додумывать, маняфантазировать про что она, где ошибка, на какой странице, как воспроизвести. Особенно заебывает, когда ты на новом проекте, а тебе фотку какого-то локального инпута в таск присылают и грят: "вот тут поиск барахлит". А мне сидеть и искать с лицом лягушки этот ебаный инпут. А когда спрашиваешь, на какой ебаной странице этот инпут??!! Как воспроизвести ошибку??!! В ответ, словно раньше все было ясно "Ой, а чего я не понятно описала??".
ОООЙЙ ЩАС РВАНЬЙОООТ!!! Как же горит..
520 2229581
>>29328
Лучше убей время на изучении пунктуации,долбаёб
521 2229600
>>29432
Просто она хочет чтобы ты ее выебал.
522 2229658
>>29581
Ясно, идите нахуй, тут нету смысла спрашивать советов. Я и забыл, что этот парашный сайт загон для токсиков, вроде тебя.
16219638545021.mp42,7 Мб, mp4,
1280x720, 0:10
523 2229673
>>29328

>А то я помню, как основательное, кол-во времени, убил на дрочь <iframe>


mp4

>>29658
Если знал, что токсики, то зачем спрашивал?
Если ожидал токсиков, то чего бомбишь?
Странный ты, тут всем помогают, кому-то мега наноборду с зашифровыванием жсом, кому-то верстку помогают, хотя тред даже не об этом, а ты просто токсик.
циклы Анон 525 2232840
Ку, всем, помогите пожалуйста, что я сделал не так? Выводится вместо адекватного ответа, какой-то бред.

import java.util.Scanner;

public class Main {

public static void main(String[] args) {
System.out.println("Введите значение x, a");
double x = readNum("Enter x: ");
double a = readNum("Enter a: ");

double b;
int chisl = 1;
int znamenat = 1;
for (int i = 1; i <= 32; i++) {
a = (x - 2 i);
chisl = a;
}
for (int i = 1; i <= 31; i++) {
if (i == 1) {
b = (x - i);
} else{
b = (x - 3 i);
znamenat = b;
}
final var y = chisl / znamenat;
System.out.println(y);
}
final var y = (((((x - a) x - a) x - a) x - a) x - a) * x - a;
System.out.println(y);
}

private static double readNum(String text) {
System.out.print(text);
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
if (num <= 0) {
System.out.println("Error");
}
return num;
}
}
циклы Анон 525 2232840
Ку, всем, помогите пожалуйста, что я сделал не так? Выводится вместо адекватного ответа, какой-то бред.

import java.util.Scanner;

public class Main {

public static void main(String[] args) {
System.out.println("Введите значение x, a");
double x = readNum("Enter x: ");
double a = readNum("Enter a: ");

double b;
int chisl = 1;
int znamenat = 1;
for (int i = 1; i <= 32; i++) {
a = (x - 2 i);
chisl = a;
}
for (int i = 1; i <= 31; i++) {
if (i == 1) {
b = (x - i);
} else{
b = (x - 3 i);
znamenat = b;
}
final var y = chisl / znamenat;
System.out.println(y);
}
final var y = (((((x - a) x - a) x - a) x - a) x - a) * x - a;
System.out.println(y);
}

private static double readNum(String text) {
System.out.print(text);
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
if (num <= 0) {
System.out.println("Error");
}
return num;
}
}
526 2233403
>>32840
1.Ты не в том треде
2.Откуда задачи?
527 2233459
>>20402 (OP)
Какие библиотеки я обязательно должен знать? Lodash там, что ещё?
Обновить тред
Двач.hk не отвечает.
Вы видите копию треда, сохраненную 28 июня 2022 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски