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

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

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

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

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

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

Документация - https://developer.mozilla.org
Руководство для вката - https://github.com/acilsd/wrk-fet#javascript
2 2513033
Хочу сделать расширение в браузере, которое будет стучаться во внешний апи (не мой) из пустой вкладки в браузере
И у меня проблема уже на первом же шаге.
Я не могу сделать апи запрос, потому что, насколько я понял, изначально в браузерах запрещён CORS
CORS можно выключить, но это не так просто, и я не хочу ничего выключать
Есть какой-нибудь способ?
3 2513034
>>2513020 →
host_permissions или permissions (в зависимости от версии) в манифесте не помогает?
4 2513036
Я неправильно указал тэг в Оп посте, мочератор поправь, пожалуйста. Ну или перекатите и этот тред

>>13034
Не знаю, попробую. Спасибо за идею
5 2513242
Есть смысл учить ноджс в 2к23? Слыхал, что хайп по ноде уже прошел и все щас учат говноланги. Это правда?
6 2513291
>>13242
Куда он пройдёт? У него всегда будет ниша языка, на котором можно и фронт и бэк.
7 2513442
>>13242
Вкатунам должно быть похуй, на что там хайп, если у тебя опыта ноль. Пых учи, правка шаблонов для цмсок всегда будет актуальна.
Нода это недобэк для тех, кто не умеет кодить на полноценных языках.

>>13291

>ниша языка, на котором можно и фронт и жалкое подобие на бэк

8 2513451
>>13242

>Слыхал, что хайп по ноде уже прошел


Прости, а ты учишь только хайповые технологии? То есть все прутся в веб, то и ты прёшься в веб? Есть области, которые возможно не очень популярны, типа электроники. Но там всегда можно заработать на свой хлеб с маслом.

Так же и здесь, даже в каком-нибудь laravel можно заработать на хлеб с маслом. Нода она как была, так и есть. Не теряла своей актуальности никогда. А то что говорят - это кто говорит? Школьник эксперт? Может это обычный тролль сидит и пишет хуйню.
9 2513455
>>13442
А что собственно неполноценного в ноде?
10 2513484
>>13442

>ниша языка, на котором можно и фронт и жалкое подобие на бэк


То ли дело бэк на пыхе или джаве.
11 2513623
>>13442

>на полноценных языках


На с/с++ в смысле? На с++ бэк не делают.
12 2513664
Привет всем. Подскажите, можно ли как-нибудь через ванильный (или jquery) JS задетектить появления окна выбора файла в chrome? Вот пример: virustotal.com на главной странице после нажатия на кнопку choose file появляется окно хрома для выбора файла. Можно ли через команду в консоли, например узнать, сейчас оно открыто или нет? Или же хром не дает доступа через JS к таким данным? Заранее спасибо за ответ.
13 2513682
>>13664
Можно обернуть колбэк, который на кнопке (или в нём же) в функцию, которая будет тоглить стейт окна.
14 2513687
>>13664

>на главной странице после нажатия на кнопку choose file появляется окно хрома для выбора


Теперь подумой своим котелком, нажатие на какой элемент какое событие производит? И кстати у скриптов к внутренностям пикера доступа нет.
15 2513727
>>13029 (OP)
Продублирую из прошлого треда.
Ребята, привет.
Нужна помощь.

Делаю свой проект, нужно отразить лист дат (можно читать как запись). У дат (записей) есть некий приоритет
На главной будет 4 кнопки, в зависимости от нажатия будет показывать записи low, medium, high или все сразу. При этом нажатая сейчас кнопка будет подсвечена.

Почему-то не получается задачть свойство width: 200px; для этих кнопок, вообще никакие габариты. В консоли F12 оно перечеркнуто, но причина непонятна.

1) почему так? почему некоторые свойства игнорируются? Я же не переопределяю свойства, а у кнопки (input) есть такие свойства
2) налицо некое дублирование кода. Как лучше сделать? менять свойства через js?

Если есть какие-то наработки, как лучше сделать и как няшно сделать, то было бы круто.

https://pastebin.com/HkLunsta
16 2513750
>>13727
У инпутов/картинок/картинок/видео/канваса "измерения" определяются их контентом, так как это встраиваемые элементы. Хочешь их ограничивать - оборачивай в спан/див и ставь измерения на нём.
Конкретно в твоём случае достаточно поменять <input type="submit"> на <button type="submit">, так как поведение у них в контексте формы одинаковое, но при этом кнопки - не захардкоженное говно в плане стилизации.
17 2513759
Есть строка блок вида <div><span>Текст</span><span>Текст 2</span>Текст 3</div>

Как получить "Текст 3" ? команда text() выводит строку вида ТекстТекст 2Текст 3, а мне только текст 3

Используя jquery
19 2513821
Так вопрос по серверу: при изменении entity(товар) я принимаю реквестом на серевер свойства товара и на каждое свойство делаю проверку с помощью блока if, существует ли оно, внутри блока if делаю запрос в базу, правильно?
20 2513830
>>13821
Поконкретнее вопрос задавай. Ответ целиком зависит от используемой структуры данных.
21 2514009
>>13750
Не работает
Даже для теста обернул кнопку в div - и тоже не работает.

Подозреваю, что это может быть связано с тем, что у кнопки есть type и value
22 2514023
>>14009
Наркоман, у теб не кнопки, а инпуты, прикидывающиеся кнопками. Пиздуй короче гайд вкатуна на MDN читать.
23 2514026
>>14023
Не, я поправил input type = button
Ну или я тебя не понимаю
24 2514080
>>14026
<button></button>
25 2514093
>>14080
Да, я об этом и говорил

Какие варианты я писал: просто button, button v li и button v div v li

<button class="btn-prior priority-active-input" type="submit" name="priority_set" value="0">all</button>

<li><button class="btn-prior priority-active-input" type="submit" name="priority_set" value="1">high</button></li>

<li><div class="btn-prior priority-active-input"><button class="btn-prior priority-active-input" type="submit" name="priority_set" value="0">all</button></div></li>

Судя по всему, я где-то туплю, причём крупно, но не могу понять, где.
26 2514151
>>14093
Тупишь в разметке, очевидно же.
27 2514302
Как этот сраный ангуляр то учить?
28 2514328
>>14302
Он разве не умер?
image.png100 Кб, 839x752
29 2514346
>>14328
С чего вдруг? Вроде обновляется.
30 2514353
>>14346
Раньше как-то был на слуху, сейчас вообще почти не упоминается.
Пилить-то может его и пилят, но мало ли что пилят.
31 2514570
>>14353
ангуляр офигенен
32 2514672
>>14093
Разобрался
Вообще странная хуйня, я в стилях как будто запутался
Нужно основы подтянуть.
Спасибо!
deno.png79 Кб, 1280x1280
33 2514966
Решил тут поюзать немного deno, раньше не понимал что за хуйня, но теперь понял. На js мало пишу, в основном всякие мелочи жизни, тут решил попробовать запустить парсер на deno.
Обходит примерно 100 сайтов, ходит по ссылкам на каждом максимум 50 переходов внутри сайта по случайным ссылкам, ищет элементы по классу и собирает текст в sqlite, после того как прошел генерирует json, всё асинхронное на промисах. Короче классический парсер, на node.js он хуярил минут 20 - полчаса где-то.

Запустил на deno и он минут за 10 все сделал, работал пиздец как шустро видно было по выхлопу из терминала. Правда пришлось поебатся немного, заменить axios на родной fetch, fs не понравился тоже заменил, остальное все из npm было в deno.land просто поменял везде импорты.

Недооценивал думал какая-то зумерская бесполезная хуйня очередная, но она оказалась шустрой и ts из коробки, да и вообще как-то нужно меньше ебаться нет всяких бабелей и тесты проще запускаются прямо из коробки. Когда постоянно пишешь на js наверное под рукой все это есть, но когда основной стек другой и в ноду набегами эта дроч люто бесит, а тут хуяк и готово.
34 2515042
>>14966
У sqlite есть какие-то преимущества надо монго?
35 2515058
>>15042
Его главное преимущество что не нужно поднимать БД, просто лежит файл рядом с проектом и при этом поддерживается синтаксис sql, для всяких небольших мелочей пойдет и еще удобно для прогона тестов
36 2515061
>>15057 (Del)

>А монга говно без задач


Попробуй сравнить текстовый поиск одновременно в нескольких полях в постгресе и монго на БД с 10 млн записей не забудь индексы создать монго вообще летает
37 2515075
Объясните что за индексы в бд
38 2515076
>>15058

>просто лежит файл рядом с проектом


Что-то вроде json файла в котором запись/удаление происходит через fs модуль, только в sqlite, это через sql запросы?
39 2515079
>>15076
Да типа того
40 2515081
Насколько я понимаю sqlite это что-то типа бд, которая в оперативке хранит данные вместо харда. Есть ещё redis
изображение.png6 Кб, 213x160
41 2515082
как по нормальному передавать несколько пропсов ? сейчас выглядит как то не але
42 2515096
>>15082
Если в одну строку линтер позволяет, то пиши в одну строку, а так на скрине форма записи, которую поддерживают популярные сборники правил (eslint-config-airbnb например)
43 2515112
>>15082
по нормальному надо объединить эти параметры в один
44 2515158
>>15061
Не забудь ручками реализовывать ACID на уровне своего говноприложения. И индексы тоже ручками будешь в монге создавать.
изображение.png3 Кб, 566x29
45 2515167
>>15112
сначала не подумал, можно ж просто в обьект запихнуть
46 2515198
>>15158

>ACID


В нашем случае не критично если пару записей проебется/переебется ничего страшного, но очень критична скорость поиска по тексту

> И индексы тоже ручками будешь в монге создавать.


Выполнить запрос пиздец как сложно, в постгресе если надо искать за пределами праймари кей придется тоже запрос на создание индекса колотить, что то что это особой разницы нет
47 2515211
Не совсем по тематике, но где можно взять какие-нибудь бесплатные дизайн-макеты приложений с нормальными иконками, цветами и прочим? Пилю свою задумку (чтобы потом на собесах показывать), но выглядит оно уебищно, а красивый дизайн придумать не могу.
48 2515212
>>15167
у тебя создается новый обьект при каждом рендеринге
49 2515224
>>15212
типа плохо? как тогда делать?
50 2515236
>>14966
Жаль что эта хуйня мертворожденная.
51 2515243
>>15198

>В нашем случае не критично если пару записей проебется/переебется ничего страшного, но очень критична скорость поиска по тексту


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

>Выполнить запрос пиздец как сложно, в постгресе если надо искать за пределами праймари кей придется тоже запрос на создание индекса колотить, что то что это особой разницы нет


Вот именно, что нету, так что визг свидетелей носкюэла про индексы не понятен.
52 2515249
>>15224
Делай много пропсов, это нормальная практика, можешь чекнуть популярные ui библиотеки, там такой же принцип
53 2515273
>>15243

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


Без транзакций их не записать? Или что ты хотел сказать? Развивай мысль до конца
54 2515275
>>15236
Я бы не сказал, если повышает производительность, то вполне себе способная к жизни хуйня
55 2515422
>>15249
понял. спс
56 2515477
>>15275
Там нет обратной совместимости со всем высранным на ноде за последние годы. А обратная совместимость + высокая производительность есть в выкаченном относительно недавно Bun.
image.png17 Кб, 232x434
57 2515611
Смотрю видео, там чел рассказывает про Callback Hell, хуе мае, 1000500 уровней вложенности, грех, досада, все такое. Но разве эта фигня не элементарно в плоскую структуру разворачивается? Чего я не понимаю?
58 2515613
>>15611
синхронное говно конечно изи размотать
а так, промисы намного удобнее
59 2515621
>>15613
Подожди, а с асинхронным какая разница? Там же то же самое будет, только мы не напрямую вызовем колбек, как на пикче, а передадим этот колбэк в веб-апи. Т.е. понятно, что на промисах код получается более декларативных, и мы не вызываем метод B из метода A, который никак с ним не связан кроме нужного нам порядка выполнения, но речь шла именно об аргументе "РЯЯЯ, ВЛОЖЕННОСТЬ, РЯЯЯ".
60 2515623
>>15613
Вообще никакой разницы. Что я не понимаю?
61 2515672
>>15611
Не понимаешь уровня развития людей, которые пишут вещи вроде wtfjs и тех, кто в серьез с этого смеется или бугуртит. Вот твой чел из видео, который не умеет в декомпозицию, ровно такой же персонаж.

Еще не понимаешь того, что 95% такие. И в айти в том числе. Тут большинство - идиоты.
62 2515676
>>15611
Callback hell больше относится к асинхронным операциям, промисы в основном и сделали чтобы было удобнее работать с асинхронщиной (await работает в if/else, try/catch, тернарных операторах, скобках, Promise.all, несколько await подряд).
63 2515959
>>15611
У тебя тут конечно всё удобно и линейно, но типичный ад наступает, когда нужно переиспользовать несколько переменных, часть из которых может быть только назначена посреди цепочки (и может быть использована в предыдущих звенах), а часть вообще из другого модуля приходит. Эту проблему облегчает только async/await, так как даже в промисах приходится костылить замыкание или засирать возвратные значения.
64 2516027
>>15611
Да, у колбеков много проблем помимо этой
65 2516181
>>15623
Ты не понимаешь в какой тред попал. Тут колбэки и промисы пролистывают наспех, ибо нудно и скорее хватаются за риякты.
66 2516187
>>15623
Ну в твоём сферическом примере в вакууме разницы никакой. Проблема в том, что в реальном коде ты, весьма вероятно, не захочешь выносить каждый колбек в отдельную функцию, а захочешь написать все инлайн, особенно если сами обработчики совсем небольшие по размеру и/или логически тесно связаны друг с другом. В этом случае у тебя и получится та самая лесенка колбеков
67 2516214
>>16187
Инлайнят обычно не из-за размеров или логики, а для того, чтобы иметь доступ к переменным в скоупе "верхних" колбэков. Альтернатива - писать каждый колбэк как фабричную функцию, принимающую объект с полями, которые она может мутировать (обычно называют контекстом), и передавать его по всей цепочке.
Ну и не стоит забывать, что в те времена никакого фетча не было и использовали XMLHttpRequest, у которого API был сделан по всем лекалам настоящего ООП, то есть куча ритуального бойлерплейта. Так же не было Headers и URLSearchParams, так что заголовки и поисковые параметры парсили, манипуляруя строкой. Не было тащемта и модулей, так что приходилось полагаться на волшебный глобал или хуярить скоупы через скоупы.
68 2516216
Подскажите интересный open source, в котором можно покопаться, что бы лучше понять, как устроен фронт.
69 2516333
>>16216
веб морда qBittorrent
70 2516390
Возможно странный вопрос.
Есть ли возможность в реакте через роутер сделать эндпоинты апи, которые при запросе выплёвывали бы жсон?
Условно говоря: есть данные из внешнего источника, нужно сделать так, чтобы при обращении к роуту выдавались спаршенные данные в немного другом формате. Возможно сделать средствами роутера? Или без ноды не обойтись?
71 2516392
>>16390
Конечно ебанутый вопрос. Получаешь тело запроса урла, и парсишь его как хочешь.
72 2516400
>>16392
Вопрос именно можно ли как-то сделать публичный эндпоинт, который проксировал бы запрос на исходный сервер с предобработкой данных, чтоб можно было стучаться на мою страничку и получать данные с другого сайта в виде жсона.
73 2516406
>>16214

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


Так в этом плане ты хоть колбеками пиши, хоть промисами - все равно вложенность будет, нет?
74 2516407
>>16400
Нода именно для это и нужна. Ты сейчас буквально веб-сервер описал, насколько я понимаю.
75 2516410
>>15959
Для какой цели используется это все? какую задачу решает?
76 2516529
>>16400
Зависит от исходного сервера. Если там стоит несколько слоёв проксей, то запросик от твоего сервера вполне может быть послан нахуй. Будешь потом сидеть и писать логику мимикрирования под браузер на своём сервере.
>>16410
С промисами можно скоуп отдельного промиса огородить. Но так да, промисы не решили эту проблему полностью, они только лесенку в плоскую структуру превратили.
>>16410
Какую задачу решает композиция ассинхронных процедур? Хуй знает, сам подумой, что это за задача в контексте веба.
77 2516716
>>16529

>С промисами можно скоуп отдельного промиса огородить. Но так да, промисы не решили эту проблему полностью, они только лесенку в плоскую структуру превратили.


не, в целом, для каких ситуаций это все используется? вот вкатун-джун должен это знать, уметь?
можешь практический пример рассказать?
78 2516810
>>16716
Показал тебе практичный пример за щеку, проверяй.
79 2516934
>>16810
не вижу ничего
80 2516972
>>15621
например, что если тебе нужно поменять местами два асинхронных вызова?
проще просто свапнуть 2 строчки с авайтами
или разгребать лапшу из калбеков, менять аргументы местами?
81 2517230
>>16972
Речь шла про вложенность. Понятно, что шлепать асинки с авейтами везде подряд удобне.
82 2517271
Анончики кто нибудь пользуется realm в mongodb? Я так понял с помощью этого напоямую получать данные на фронт без серверной части?
83 2517320
>>17271
Нет, это для мобильных приложеинй, которые по сути являются локальным сервером. В браузере ты никогда не сможешь "общаться" с бд.
85 2517349
>>17335
Серверлесс это мем. Тебе в любом случае придётся пердолить типичный серверный конфиг и решать типичные серверные проблемы в серверлесс стэке.
86 2517351
>>17349
Похуй на проблемы. Есть база данных в атласе теперь еще и сервер нужен отдельный что бы туда "ходить", бред
87 2517355
>>17351
Не бред, а микросервисная архитектура.
88 2517357
>>15477
Чел, ты литературно называешь доехавшую до релиза дено мертворождённым проектом, но предлагаешь 0.2 бету какого-то другого говна? У тебя всё нормально?
89 2517360
>>17355
Те решения нет?
90 2517366
>>17360
Решение чего?
91 2517375
>>17366
Напрямую запрашивать для сайта данные из базы данных? В данном случае база данных это атлас
92 2517379
>>17375

>Напрямую запрашивать для сайта данные из базы данных?


Секретные ключи будешь на клиенте хранить?
93 2517397
>>17379
Авторизация по токену. Вась ты вообще про realm слышал? А?
94 2517400
>>17397
Валидность токена что у тебя будет проверять?
96 2517411
>>17408
Найс "напрямую" запросы у тебя. Просто подними веб-сервер между БД и клиентом, и напрямую пропукивай запросы прямо с клиента!
Валидировать запросы тоже атлас будет? Или у тебя мега прогрессивная архитектура и любой крокодил может запрашивать, добавлять, изменять и удалять любые сущности в БД?
97 2517433
>>17411
Там судя по доке можно роли назначать на запись чтение и тд. Веб сервер нужно где то арендовывать, а та сферера где хочу применить кейс веб приложение-БД по большей части населена домохозяйками. Раньше этой проблемы не было тк был хероку, сейчас они свернули атракцион зедрости, все лихорадочно ищут решения, аренда сервера домена деплой серверной части потом клиентской для некторых сравнимо с полетом на марс
98 2517436
>>17411
Для my-enterprise-todo-app подойдет
99 2517707
К примеру я поднял сайт, могу ли я отправить на него POST запрос и обработать его там?
100 2517783
>>17355
Это обычная серверная архитектура. Данные никто никогда в монолите не хранит, для этого существуют отдельные субд на отдельных физических машинах.
101 2517785
>>17375
В гугл забивать что-то типа "<название бд> js client" не пробовал?
102 2517851
Я может быть очень тупой, но поясните как так получается что WASM должен работать быстрее, чем JS? JS в современных движках по итогу трансформируется в байт код и затем, в некоторых случаях, в +- эффективный машинный код. В WASM у нас тоже есть типа байт код. Я понял что WASM быстрее грузится благодаря изначально бинарному формату, но откуда выигрыш на этапе выполнения?
image.png14 Кб, 621x185
103 2517910
Что-то я не совсем понимаю, как замыкания работают. С объектом понятно - он в куче, никуда не девается, в колбэке ссылка на него указывает, на момент вызова первой функции его значение 5.

А почему с равна 5? Это же не ссылочный тип, т.е. по логике хранится на стеке, захватывается копия, и выводится 0-4. Но на момент исполнения - везде 5. Откуда она вообще берется? Колбэки же выполняются после того, как стек опустеет, откуда она вообще берется?
104 2517939
>>17910
Для начала подумой, когда твой код в таймаутах вызывается.
105 2517943
>>17939
В конце вызывается, после того, как стек опустеет. Поэтому непонятно, откуда в переменной с 5 берется.
106 2517949
>>17943

>В конце вызывается, после того, как стек опустеет.


Так весь код технически вызывается в конце. Ты построчно объясняй, что когда запускается в цикле.
107 2517957
>>17851
jit-скомпилированный код js всегда должен предусматривать шаги для деоптимизации и деградации, на случай если в уже скомпилированную функцию/выражение прилетит неожиданный тип.
В васм коде нет требования о том, что код может быть подгружен в любой момент а будущем, выгружен или пропатчен. Каждый модуль валидируется единчивенный раз, ходы для деградации в результирующем jit-output не нужны.

От сюла и берется выигрышь
На пракиике это не имеет никакого значения. На реалтных задачах, а не синтетических бенчмарках - жс код не проигрывает в производительности.
108 2517966
>>17957
Значит ли это, что васм жиденько обсирается при динамических импортах?
109 2517973
>>17966
У васма нет динамических импортов. Васм модули подгружает жс.
110 2517992
Ух как простенько на линупсе наговнякать фоновый сервис. Хуяк-хуяк, через час высрал файл с путями и работающий сервис, который автоматом запускается при старте системы.
Как похожий функционал на шиндошсе получить?
111 2518014
>>17992
Накатить Докер на всл.
112 2518038
>>17992

>фоновый сервис


Как службу ставь, проблемы?
https://nssm.cc/
113 2518181
>>17957
Т. е. грубо говоря, выигрыш здесь в отсутствии сборки мусора + наличии плоской линейной памяти + статических типах данных в противовес динамическому JS? А что за бред тогда про "near native speed" с рекламных агиток? Если эта хрень в среднем получается не быстрее С# и подобных?
114 2518248
>>18181

>А что за бред тогда про "near native speed" с рекламных агиток?


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

Ну и да

> отсутствии сборки мусора + наличии плоской линейной памяти + статических типах


И делает код "near native speed".
Суть в том, что если на жс выделить плоский кусок памяти буфером и просто перекладывать там байтики скорость будет та же самая, все с оптимизирует jit, главное писать мономорфный код, чтобы вызовы функций не приводили к деоптимизациям никогда.
Ужс тут даже будет преимущество, потому что можно выделить не просто кусок памяти и дрочить в нем айтики, а например пул объектов, и переиспользвать их.

Просто чтобы писать "near native speed" код на жс, надо знать как работает жс движок. Код должен быть мономорфным - то есть оперировать всегда одними и теми же типами. Шейпы объектов не должны меняться (количество полей их типы, порядок, должны быть постоянны - нельзя использовать объекты как мапы, нельз удалть поля из объектов, и добавлять в них поля поле оздания и так далее). И тогда и жс код будет неар натив спид.

Разница между васмом и жсом в этом отношениии в том, что васм - это кросплатформенный стандарт. Код на васме выполняется не только в жс окружениях, но в специализированных аточенных только под васм. И он везде будет одинаково вести себя в соотвествии со стандартом. Жс движки же ведут себя каждый по-разному (отя три мейнстримных v8, spidermonkey и jscore почти одинаково на сегодня уже, но помимо них есть еще десяток другой движков, где никаких житов нет, или они другие - например житы от jvm). Ну и код на васме не пишут ручками, почти никогда - это таргетдля компиляторов. Хотя в жс тоже можно компилировать - тот же emscripten этим и занимается. Просто это не имеет смысла, если есть васм. Суть жса в его динамической природе. Цель васма - в числодробилках.
115 2518297
>>18248
Большое спасибо, что подробно расписал. Как раз следующий вопрос у меня был бы про asm.js и LLJS и почему они дают выигрыш в скорости хотя исполняются тем же движком JS. Ну и да ты прав, всё же в wasm компилировать эффективнее, чем прямо в js или байткод, т.к. формат байткода у движков разный.
116 2518554
>>17949
Запускается цикл, регестрируется 5 колбэков, программа заканчивается, ждется 10 мс, колбэки выполняются. Вопрос в том, как при этой регистрации хранятся захватываемы переменные, почему они общие выходят на 5 независимо зарегестрированных колбэков, почему когда цикл отрабатывает, он меняет значение захваченной переменной регестрируемого на ПРЕДЫДУЩЕЙ итерации цикла колбэка, если, по логике, захваченная переменная является частью колбэка, т.е. должно захватываться то значение, которое было у переменной при регистрации колбэка (по крайней мере для стековых переменных)?
117 2518602
>>18554

>Запускается цикл, регестрируется 5 колбэков, программа заканчивается, ждется 10 мс, колбэки выполняются.


И какие же переменные "захватываются" в твоих колбэках?

>почему они общие выходят на 5 независимо зарегестрированных колбэков


Потому что во время вызова этих колбэков значение у них 5 в скоупе.
Ты сам себя путаешь, вешая переменные на глобальный скоуп. Оберни свой код в функцию и сразу станет понятно, где что куда захватывается.
118 2518828
>>17910
Это просто так работает, почему голову ломаешь?
Хотя

> In JavaScript, closures are created every time a function is created, at function creation time.


Не понятно тогда какого хуя closures у нас created 5 раз вместе с функцией, но переменные не сохраняются в этом closure 5 раз почему-то
119 2519042
>>18828

>Не понятно тогда какого хуя closures у нас created 5 раз вместе с функцией.


Действительно, загадка на миллион. Потому что блять циел создаёт замыкание на каждуб итерацию.
jquery 120 2519049
я новичок во фронтенде, в общем, есть такой код для горизонтального скроллинга меню, надо переделать его с jquery на чистый js, помогите пожалуйста

https://codesandbox.io/s/summer-hooks-3smpix?file=/src/styles.css
121 2519051
посоветуйте норм книги по js, не для вкатывальщиков а для тех кто по опытнее. Уже год где то работаю и до сих пор некоторые концепты в голове так и не осели прочно. Те же прокси, ну или промисы, замыкания и связанная хрень, ес модули или какие то другие условно "продвинутые" темы. Если такие книги конечно есть, которые из дурачка превращают в шарящего.
122 2519060
>>19051

>Те же прокси


Ненужная хуйня для клиентского кода. Полезность проявляется только, если ты пишешь пакет для потребителей.

>ес модули


>книги


Лолблять. Нода относительно недавно их реализовала, а до этого "ес модули" были не более, чем сахарок для транспиляции. Так что любая книга, затрагивающая эту тему, априори будет неверными данными оперировать.
123 2519064
>>19060

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



Абсолютно согласен, но всё же хотелось бы по минимуму разобраться, как мобыхи, вуе и прочие реактивные библиотеки/фреймворки работают. Но пока не вижу ничего лучше чем пердолиться изучая исходники.
124 2519065
>>19060

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



Ну всё равно, можно же как то доступно изложить спецификацию, всю подковёрную кухню с парсингом, загрузкой модулей, циклическими зависимостями итд. Нигде не видел статей или книг где было бы до конца разжёвано. Остаётся как в посте выше - либо спецификация либо исходники движков, но от исходников движком мозги моментально закипают и хочется суициднуться.
125 2519092
>>18602

>И какие же переменные "захватываются" в твоих колбэках?


i, c, msg

>Потому что во время вызова этих колбэков значение у них 5 в скоупе.


1. Почему тогда у i значение не в скоупе?
2. Где хранится скоуп и когда он создается?

>Ты сам себя путаешь, вешая переменные на глобальный скоуп.


Так никакой же разницы, локальный, глобальный
126 2519093
>>19042

>Потому что блять циел создаёт замыкание на каждуб итерацию.


Почему тогда везде 5, если замыкание на каждую итерацию?
127 2519094
>>19060

>Те же прокси


>Ненужная хуйня для клиентского кода


Меня спрашивали про js-овские прокси когда я недавно на дотнетчика собеседоволся. Я не ответил, и меня не взяли но я много чего не ответил.
128 2519097
>>19092

>i, c, msg


Очевидно же твой пример противоречит твоим фантазиям. Тут только два исхода: или жаваскрипт в жопу насрал, или ты что-то не то нафантазировал.

>1. Почему тогда у i значение не в скоупе?


Оно-то как раз в скоупе каждой итерации цикла. В отличие от.

>2. Где хранится скоуп и когда он создается?


В памяти компьютера и создаётся он при любом конструкте вида {...}.

>Так никакой же разницы, локальный, глобальный


Абсолютно есть разница между локальным и глобальным скоупом. Твой пример - типичное ассинхронное дрочево в "ручных" циклах. И путает тебя незнание/непонимание поведения переменных, обьявленных через let в теле цикла.
>>19093
Ну так и i спокойно замкнулся. Разницу между i и двумя другими переменными знаешь?
129 2519118
>>17910
let g = 0
for (let i = 0; i <= 5; i++) {
let l = g
setTimeout(() => console.log(`global scope: ${g}; for block scope: ${l}, ${i}`))
g++
}
130 2519482
Что использовать для запросов на апи, fetch, axios или react query?
131 2519499
>>19097
почему i не сохраняет своё состояние в замыкании при каждом создании замыкания? это значит, что функция в замыкании только ссылается на переменную?
132 2519562
>>17707
пост запросы на сервер отправляются
133 2519563
>>19482
XMLHttpRequest
134 2519585
>>19118
Где и как оно хранится, какой у этого жизненный цикл?
135 2519611
>>19563
ну это будет выбиваться из общего стиля приложения
136 2519624
>>19499

>почему i не сохраняет своё состояние в замыкании при каждом создании замыкания?


Потому что читай про лексические окружения, пидор.
137 2519626
Блядь, ну почему такой кромешный пиздец? Как можно додуматься сделать так, что один и тот же аргумент колбэка может быть разным по счёту? Да и p1, p2, ..., pN нельзя собрать с помощью ...rest, ибо в конце хуйня будет.

Как, блядь, такое вообще могли утвердить? Они там совсем ебобо?
138 2519638
>>19626
Как бы тебе сказать...
const restArgs = args.slice(1, args.length - 4)
139 2519647
>>19638
Хороший костыль, но почему нельзя было сразу нормально сделать?
140 2519655
>>19626

>Да и p1, p2, ..., pN нельзя собрать с помощью ...rest, ибо в конце хуйня будет


(match, ...p, offset, string) { ... }
141 2519656
>>19647
Что по твоему должно быть "нормально"?
142 2519670
Ананасы, сильно не бугуртим, не нашел куда задать вопрос, посему задаю его сюда. Есть одно ТЗ

Клиент жалуется, что в одном из писем разломалась верстка.
Поправьте и пришлите в ответе корректную верстку (ссылкой на файл).
Рассылка: http://static.directcrm.ru/webpage/polls/mindbox/test.html

Чего от меня хочут, буду рад советам мудрым
143 2519680
>>19670
А может тебе ещё отсосать? Вёрстка писем - самые говна фронтенда, уж лучше легаси на жиквери писать.
image.png24 Кб, 1057x444
144 2519681
>>19585
1. Сначала выполняется инлайновый код.
2. g находится уровнем выше блока for, так как внутри блока for не объявляется локальная g, код внутри неё ссылается на внешний g
3. i и l объявляются внутри блока через let, следовательно, они не влияют на глобальный скоуп и видны только внутри блока
4. Внутри цикла у тебя создаются таймеры, которые выполняются после выполнения всего инлайнового кода. Т.е. это то же самое, что написать содержимое таймера после всего кода, поэтому g у тебя во всех таймерах одинаковое, его изменение, в отличие от цикла, не фиксируется по ходу выполнения цикла.
5. l и i при этом фиксируются, потому что let имеет блочную видимость и не хоистится, а значит внутри блока эти переменные ведут себя как внутри функции, т.е. под капотом каждую итерацию, каждый "вызов", код внутри блока знает значение переменной только текущей итерации.

Вот тебе пример, как можно всё сломать:

var g = 0
for (var i = 0; i <= 5; i++) {
var l = g
setTimeout(() => console.log(`global scope: ${g}; for block scope: ${l}, ${i}`))
g++
}
145 2519685
>>19670
Нижний блок распидорашен, нет отступов, максимальной ширины и не центрировано, либо его достали из основной таблицы-контейнера.
146 2519689
>>19482
Чем меньше библиотек, тем лучше. Лучше фетч задрочить, чтоб остальное не было необходимостью.
1669048665062.png67 Кб, 867x867
147 2519699
>>19656

> Что по твоему должно быть "нормально"?


Например, передавать все p1, p2, ..., pN в массиве. Или вообще передавать в коллбэк один аргумент, идентичный тому, что возвращает .match() без флага g. Вообще отлично было бы, можно одну и ту же функцию использовать в обоих случаях:

const handleMatch = (match) => {
//...много кода...
};

handleMatch(
'someString'.match(/someRegexp/)
);

//позже:
const result = 'someOtherString'.replace(
/someOtherRegexp/g,
(match) => {
handleMatch(match);
return '[ДАННЫЕ УДАЛЕНЫ]';
}
);

>>19655

> (match, ...p, offset, string) { ... }


Это что вообще? Стрелочная функция должна быть? Ну и с каких пор ...rest можно не в конце ставить?
148 2519713
>>19685
Спасибо анонче, ща пожру и буду пытаться сделать что-то с этим дерьмом, жаль что верстку я напрочь забыл
149 2519717
>>17910
>>19092
>>19499
Поменяй for на аналогичную конструкцию с while, вообще охуеешь.

Хотя, вряд ли, ведь у тебя уже есть переменная «c». А вот когда я первый раз в аналогичной ситуации поменял while на for, то знатно охуел.
150 2519756
>>19689
Окей, но я уже использую mui
152 2519951
>>19801
святой, большое спасибо
153 2520220
А вот например стоит ли мне использовать cors пакет или самому прописать всё?
154 2520310
Чем сейчас модно работать с mongodb? mongoose до сих пор дает все сосать?
155 2520456
>>19756
А, ну если муй используешь, тогда ставь сразу ещё бутстрап, тейлвинд, ангуляр и is-even. Ты у мамы дурачок? Какое отношение муй имеет к работе с сетью? Бери фетч и не выебывайся, тебе за глаза хватит
156 2520622
>>20456
на мой взгляд mui - это набор лиших библиотек, т.е. я уже нарушил принцип имения малого количества библиотек
157 2520706
>>20622
Значит тогда react query + axios.
ПАМАГИТЕ С VUE!!! 158 2520852
Как это использовать в компоненте, ок, я подключил, но как обратиться к амплитуде из компонента?

https://github.com/Calvin-Huang/vue-amplitude
159 2520878
Я чет не понял. Как правильно? Пилил проект, забросил, нодмодули устарели и некоторых уже нет но локально все собирается и бандл работает. Но как мне поделится что бы другие у себя могли собрать рабочий бандл? Нодмодули передать? Че за ебантизм?
160 2520884
>>20878
версии ограничь в package.json, убери ^ с пакетов
https://stackoverflow.com/questions/22343224/whats-the-difference-between-tilde-and-caret-in-package-json
161 2521166
>>20878

>и некоторых уже нет


Такое может быть только если ты всякие малвари ставил в зависимости. Иначе npm хранит все версии пакетов.
162 2521167
Ебучий бандлер собирает вместе с переменными из .env. Че делать?
163 2521169
>>21167
Читать доку, как правильно передавать перменные из .env в бандлер.
164 2521170
>>21166
Да вот нихуя, попытался ставить какой то древний аполо клиет альфа версии. Хотя локально у себя через install -f собирает с кучей ошибок, но сама сборка вроде рабочая, пытался закинуть и собрать на какой то онлайн помойке нихуя не деплоит
165 2522250
Поясните за ssr и в частности nuxt. Получается можно писать одно приложение и тупо дуплоить на какой нибудь vercel или хероку и оно будет работать как единое целое? Те не нужно разносить сервер и клиент по разным местам? Обычно сервер деплоил на хероку и клиента на тенфлай к примеру, а в этом случае все будет в одном месте?
166 2522262
>>22250
Не будет ничего в одном месте, лол. Нуксты/нексты/хуексты выступают в роли микросервиса для рендера шаблонов, всякие числодробильные очереди задач за пределами цикла запроса/ответа ты хуй на них обработаешь. В любом случае нужно будет отдельный сервер под БД лепить и веб-обёртку для него.
167 2522278
>>22262
лол ну и кринж, не зря я с экспрессом работать решил и не смотреть даже всё остальное
168 2522296
>>22278
На экспрессе писать и поддерживать чистый API сервер намного проще, чем хуярить жирнющие контроллеры для серверных шаблонов поверх. Тебе в любом случае придётся фронт мигрировать на один из этих серверных фреймворков. Как минимум нукст и некст позволяют билдить в полную статику, что для начала сойдёт.
169 2522358
блять я так заебалась, анон. сил уже моих нет. дрочу неск месяцев джс, дошла до асинхронности, в теории все супер, но как только перехожу к практическим задачам на том же кодварс, горит жопа моментально. ничего не понимаю. очень снизилась мотивация, там ведь рил ничего сложного, но мой моск не осиливает. еще эти стрелочные функции ебучие не выкупаю. плачу по кд. как вы себя поддерживаете и как догонять тему, которую не очень выкупаешь?
всем добра
170 2522360
>>22358
К чёрту предрассудки, выходи за меня!
171 2522365
>>22358
Больше практики, потом само заучится.
172 2522484
>>22358
Кодварс это абстрактная хуйня, которая для формошлепства не очень то и нужна. А вообще эти вещи нарабатываются практикой.
173 2522485
Поясните плиз какие недостатеи есть у ssr и конкретно у Next? Почему эту херню не подключают по умолчанию везде? Какие подвохи?
174 2522514
>>22360
Синдром пизды в поле from.
175 2522517
>>22250

>ssr


>server-side rendering


Это значит, что ты html собираешь на сервере, а не что тебе сервер не нужен.
176 2522533
>>22296
Ладно я пока не дошёл до этой темы
177 2522562
К вопросу выше >>22485
Нахуй нужен SSR вкратце? Чем его преймущества перед CSR. В каких случаях использовать?
178 2522570
На след неделе позвонят с потенциальной работы, будет интервью и тестовое задание. Очкую пиздец, потому что нихуя не знаю, а программировал последний раз примерно месяц назад. На гите полтора проекта. Что посоветуете, аноны? Как хоть немного подготовиться и не обосраться? Работка очень нужна. Что вообще блять там могут спросить и что за тестовое задание будет, ух бля.
179 2522660
>>22562
Какой нахуй CSR? "SSR" - дефолтное состояние интернета, это клиентный рендер - соевая технология. А нужен он, чтобы поисковики индексировали твой очень важный продаванский сайт, так как им поебать на мегабайты жс говнеца в бандле.
180 2522688
>>22562
Сайты с клиентским рендерингом плохо дружат с поисковиками. Гугл например вполне официально заявляет, что пессимизирует их в выдаче. Плюс летящий в бровзер бандл сам по себе огромен, что замедляет загрузку.
181 2522754
Короче запилил себе на nuxte проект, плюс в том что я его задеплоил на один сервис версель хероку похуй, раньше ебался поднимал сервак потом этот сервак прописывал в на клиенте собирал клиент деплоил на другой сервис, короче сейчас все в одном месте и лучше поддерживать. Советую для вкатывальщиков по крайней мере. Только один минус куча "магии"
182 2522772

>При форматировании большого количества дат лучшим вариантом будет создание объекта Intl.DateTimeFormat и использование функции, предоставляемой его свойством format.


С ру вики, на англоязычной такого примечания нет, че за хуйня? Кто кого наебывает?
16635517790191.mp4449 Кб, mp4,
480x480, 0:22
183 2522776
>>13029 (OP)
Покажите мне пожалуйста стак и гит мидла фронтэендера на жс.

Да я пытаюсь выучить и устроиться работать.
184 2522812
Я тут запилил для себя торгового бота на ноде. Постоянно света нет, а я новичок, чуть больше двух месяцев как вообще начал учить JS это мой первый язык.
Хотелось бы пару вопросов задать.
Первый: какой лучше выбрать хостинг и насколько это безопасно, учитывая что я буду там размещать файлы с API ключами от моего аккаунта на бирже.
Второй: у меня идёт работа на вебсокетах, но после выполнения условия для входа, идёт очевидно отписка и после переподписка на сокет уже с условиями для выхода из позиции. Я слышал можно сделать этот процесс лучше, через прокси, но я совсем не понял что имеется введу. Смысл в том, чтобы не отписываться. Ибо подписка на сокет это пауза в 2-3 секунды. Если где то есть нужная документация, буду благодарен.
Я с телефона, код кинуть не могу, да и модули с алгоритмами кидать бы не стал. Не думаю что в этом есть необходимость для моих вопросов.
185 2522831
>>22358
Стрелочные функции впрочем максимально простые, просто возьми две одинаковые по смыслу функции, одну классик, другую стрелочную, внимательно сравни и готово.

А с async Await я как новичок тоже долго провозился. В целом создание асинхронной функции дело простое, сложно понять было как это использовать, не куда угодно же можно пихать Await сначала я делал ужасные матрёшки, из async функций внутри async функций, чтобы внутри них размещать нужные процессы и вызывать их через Await чуть ниже не выходя из области async функции. Но потом начал просто выносить их в модули и стало читабельно. Практикуйся и все получится.
image.png282 Кб, 1200x630
186 2523047
Тут херока на днях приостанавливает бесплатный хостинг, в связи с чем возникает вопрос. Куда ещё можно бесплатно без регистрации и смс перетащить свой говнокод? Интересует именно нода. Пока только нетлифай в голову пришёл, но судя по туториалам, это какие-то костыли надо дописывать
Кто куда деплоит ноду, подскажите
187 2523055
>>23047

Vercell Очевидный. Кручу свое говно там.
188 2523076
Всем привет! Интересно ваше мнение. Не так много вакансий сейчас на фронта. Увидел больше на web-разработчика. Имеет смысл учить php и MySQL после js, html, css? Возможно не много подучить WordPress. Повышается ли шанс вкатиться в айти в таком случаи или нет? Или все таки имеет смысл до конца долбить js и React?
189 2523108
>>23055
Я так понимаю, что на нём, как и на нетлифае придётся костыль в виде serverless прикручивать?
190 2523111
>>23076
Пытаясь учить сразу всё и сразу - будешь одинаково плох во всём. Не стоит распыляться на начальных этапах, учи что-то одно до приемлемого уровня, когда одну и ту же задачу ты сможешь решить как минимум тремя различными способами
191 2523222

>одну и ту же задачу ты сможешь решить как минимум тремя различными способами


это как типа map, foreach и for?
192 2523239
>>23222
Под задачей я имел ввиду нечто более общее. Допустим какой-нибудь двойной инпут сделать, первое что в голову пришло
193 2523265
>>23239
Мне кажется зачастую решение одно верное
194 2523341
>>23047
github pages
195 2523479
>>23055
А база данных у тебя где крутится? Фича хероку была в том, что там можно было на бесплатном тире подключить обрезанную, но функциональную постгресовскую бд в пару кликов. Альтернатива этой забаве - всякие хосты, которые сдают в аренду линуксовские сервера. Но в этом случае надо опять пердолиться с доменами и сертификатами. И конечно же не бесплатно.
>>23341

>нода


>github pages


>>23469 (Del)
Кот уже всё?
196 2523490
>>13029 (OP)
Объясните пж, как читать декоратор пропсов. В коде @Props и @Socket, там какой-то лютый синтаксис
197 2523492
>>23479
У меня на Монго атласе
198 2523550
Есть знатоки ноды?
Если мне надо отправить юзеру какое-то сообщение после основного ответа на запрос, я оборачиваю отправку в setImmediate. Так вот вопрос - безопасно ли это в плане того, что не сможет ли юзер своим запросом вклиниться между этими двумя эвент лупами? (Текущим и тем, в котором будет вызван setImmediate).
199 2523626
>>23550

>безопасно ли это в плане того, что не сможет ли юзер своим запросом вклиниться между этими двумя эвент лупами?


Нет. Делай нормальную архитектуру без подобных костылей.
200 2523716
>>23550

>Если мне надо отправить юзеру какое-то сообщение после основного ответа на запрос


Сервер никакие запросы не сможет отправлять клиенту, он может только отвечать на запросы клиента.
image.png6 Кб, 270x128
201 2523780
>>23716

>он может только отвечать на запросы клиента


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

>>23626
Оказывается, пару лет назад я уже решил эту проблему, просто и изящно. Хотя, конечно, если юзер начнёт слать запросы в цикле, что-то, наверное, может быть отсеяно. Но пока не понадобится обработка таких случаев, усложнять не буду.
202 2523798
Поясню, зачем это всё нужно.
Я делаю пошаговую игру и игрок, например, может совершить ход своим существом. Сервер должен просчитать игру до её следующего стационарного состояния (т.е. ожидания следующего действия игрока), при этом некоторые процессы (например, пересчёт статов существ) лучше делать ПОСЛЕ завершения основных калькуляций, но ПЕРЕД тем, как игрок сможет сделать следующий ход.
203 2523816
>>23780

>Как там в палеозое, аякс уже изобрели?


Аякс тоже следует клиент-серверной архитектуре.

>Ясное дело, что связь на веб-сокетах


Никакого отношения к твоему говнокоду не имеет. Вебсокет просто в покпоке высирает данные, а когда и где и их показывать - уже от клиента и сервера зависит. Так что твоё "отправить юзеру какое-то сообщение после основного ответа на запрос" превращается в "после ответа на запрос добавить сообщение в очередь сообщений, которое можеть быть обработается очередью, передастся потребителю (если он до сих пор подключен к каналу) и обработается им в его очереди задач когда-нибудь после обработки ответа клиентом и, если сильно повезёт, это оповещение отрендерится на активной вкладке браузера и пользователь в это время присутствует (если оповещения автоматом очищаются через интервал)".
204 2524107
Аноны, треба маленький совет - правильно ли я JSON прочитал

Имя и телефон клиента (Яна, +79814458149), тип заказа и время исполнения( ASAP, 20.04 19:18), способ оплаты и итоговую сумму покупки (BANK_CARD_APP, 270) без налогов), его содержимое (один Айс-Латте 0,6 с сиропом Груша-базилик )
205 2524108
пикча отклеилась конечно
206 2524109
>>24107
>>24108
Какие же вкатуны дегенраты, пиздец просто.
image.png198 Кб, 787x929
207 2524111
208 2524117
>>24111

>Какие же вкатуны дегенраты, пиздец просто.

209 2524408
Добрый вечер, аноны. Такая проблема, пишу курсовую для шараги, простенький интернет-магазин, использую Express+ReactJS+PostgreSQL. До сдачи осталась неделя, а доделать не успеваю, поскольку времени нет совсем. Мне бы найти человека, который доделает этот курсач, там вроде бы немного. Бюджет 3-4к. Так вот, где мне искать программиста, который согласится на это?
210 2524410
>>24408
За 3-4к ты найдешь только макаку 70iq, который тебе сварганит твое говно на битриксе.
211 2524412
>>24410
Да мне бы и макаку хотя бы. Там по сути осталось только настроить редактирование страниц товаров, поиск и рейтинг для товаров настроить
212 2524413
>>24412

>редактирование страниц товаров, поиск и рейтинг для товаров настроить


В чем трабл? Делается за 2 дня если ты вкатун, и за пол дня если хотя бы джун.
213 2524414
>>24413
Я вкатун, а двух дней у меня нет.
214 2524415
>>24414
Ну сочувствую. Оставь тут контакты, мб какой-нибудь вкатун возьмется за шабашку. Но качества жди соответствующего.
215 2524418
>>24415
Качество там и так такое себе, к слову.

Телегу оставлю, вдруг и правда кто-то согласится: @berncastel_nipah
216 2524730
>>24408

>использую Express+ReactJS+PostgreSQL


Чет не презентативное. Надо было брать NestJS+NextJS+ORM+PostgreSQL и на TypeScript все это писать с Unit тестами.
217 2524738
>>24730
ну я вкатун, особо не разбираюсь. Мне посоветовали именно этот стак, так что я его и использовал.
image.png96 Кб, 1273x608
218 2524745
Интересно, этот пакет безопасно ставить?
219 2524750
>>24738

>Мне посоветовали


Странно что не MEVN
220 2524764
>>24730
C ORM и нестом можешь пройти нахуй. А некст для вкатунства не нужен.
221 2524769
>>24764

>C ORM и нестом можешь пройти нахуй.


Студии с ними пишут.

>А некст для вкатунства не нужен.


Он утверждает что ему для курсовой.
image.png83 Кб, 795x652
222 2524771
>>24745
Сходи в репозиторий, почитай!
223 2524774
>>24771
А чё такого? Я придумал, у них код украду просто там 50 строчек хихихи
224 2524776
Поясните по Pinia. В action прилетают данные с сервера, в этом виде мне они не нужны и нужно их "перелопатить" создать новые обьекты массивы, переложить. Где это лучше делать? Прям тут же после получения или в геттерах? Т.е будет два обьекта? То что прилетало хранится в allData, а то что нужно вычисляет геттер в нужных компанентах?
5-17.jpg77 Кб, 1242x607
225 2524825
Как так вышло? Почему Вью обогнал по популярности Реакт?
226 2524836
То ли я дурак и не до конца понимаю механизм работы, то ли реально херня какая-то. Может кто из знающих ананасов пояснить за куки?
К сути вопроса, сделал сервер авторизации по этому примеру https://www.youtube.com/watch?v=fN25fMQZ2v0 с поправкой на свои особенности. Но возникли некоторые нюансы, которые я вообще нихера не могу понять. Когда и бэк и фронт запущены на локалхостах, то всё работает идеально, так как и должно. Проблема начинается при деплое. Корс настроил, то сё хуё моё, в общем работает, но, как грицца, есть 1 нюанс. В девтулсах нет куков (пик 1), но в самих запросах куки явно стоят. Сервер их видит, парсит, всё нормально работает, как и было задумано. Но почему я их не вижу в дефтулсе? На 3м пике то же приложение, но на локалхостах - куки есть. Но при этом с точки зрения функциональности они работают абсолютно одинаково
227 2524875
>>24836
Посмотри консолечку/запросы и там тебе бразуер назовёт причину отказа.

>Но при этом с точки зрения функциональности они работают абсолютно одинаково


Не одинаково, локалхост - особый неймспейс, для которого браузеры отключают бОльшую часть требований, связанных с корсом.
228 2524887
>>24825
Потому что реакт лютейшая параша, срыгнул оттуда на вью и теперь вспоминаю как страшный сон. Пушу в стейт и не просыпаюсь ночью от ужасов. Сейчас укатываюсь на нукст думаю забыть и про ванильный вью
229 2524894
>>24875
Да в том-то и прикол, что отказа нет. Сервер куки ставит, клиент в запросах эти же куки отправляет, сервер их видит, нормально с ними взаимодействует
Отказы были в начале из-за SameSite, вот тогда действительно не работало, клиент в запросах куки не слал, а сервер при попытке их установить выдавал ошибку
Всё работает так, как будто бы куки есть, они и впрямь есть. Просто, такое чувство, не отображаются в девтулсах
230 2524898
>>24875
На втором пике даже видно, как клиент в запросе указывает куки, которых нет в девтулсах
231 2524943
>>24894
Попробуй добавить куки, доступные клиентскому скрипту, но устанавливаемые сервером.
232 2524951
Может быть вариант, что прокси-сервер между сервером и клиентом дропает куки.
233 2525002
>>24943
Всё то же самое, сервер куки устанавливает Пик 1, я в ответе они есть, на клиенте ловлю test, test2 сделал чисто для проверки, как и ожидалось, он не поставился, вылезла ошибка. Но в девтулсах нема Пик 2
Сами куки на сервере Пик 3
На локалхосте ожидаемо все 3 ставятся и почему-то, сука, появляются в девтулсах
234 2525008
>>25002
Ты шизоид. Зайди в настройках браузера, в разделе просмотра кук хоста, и посмотри какие куки у тебя стоят у origin'а, на который ты посылаешь свой кроссдоменный запрос, внезапно ты найдешь там все те куки, который у тебя якобы не отображаются.

Какого хуя ты вообще пытаешь увидить куки для домена A кглядя в куки домена B - не понятно.
image.png5 Кб, 520x52
235 2525016
image.png1 Кб, 64x174
236 2525018
>>25002
Видишь, как графа называется?
Потом подумай еще раз, какой домен тебе установил куки. А в какой домен ты смотришь.
image.png35 Кб, 617x323
237 2525070
>>25008
>>25018
Первый раз с куками работаю, туплю сильно
Получается нужно ещё и домен выставить? Попробовал сделать. на локалхосте поломалось всё, на сервер заливать не пробовал
238 2525075
>>25008
>>25016
Спасибо за наводку! Решение из предыдущего поста помогло
239 2525076
>>24887

>от ужасов


Например?
240 2525081
>>24887
Когда в вуе саспенс завезут уже? А то прогрессивный фреймворк который еще и якобы "самый популярный" до сих пор не дошел до уровня свелте, который по фану пилится.
241 2525090
>>25070
Куки ВСЕГДА устанавливаются для того на домена, на который ты шлешь запрос, а не с которого ты шлешь.

ты не можешь послать запрос с домена abc.com на домент xyz.com, и чтобы xyz.com тебе установил куку для домена abc.com. Все куки, который установит хост xyz.com будут установлены для домена xyz.com - вернее для origin'а - в понятие ориджина (источника) водит домен и протокол. Иногда так в ориджин попадают поддомены на том же домене, при определенны настрйоках.

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

Ты в своей продакшен весрсии делаешь КРОСДОМЕННЫЙ ЗАПРОС. Кука ставит, как положена. Но ты смотришь ее зачем-то на том домене с которого запрос посылаешь. Ее там быть не может.

На локал хосте же, ты когда тестируешь, ты делаешь НЕ кросдоменный запрос.
242 2525119
>>25090
Про безопасность понимаю, не зря уже месяц с корсами ебусь, пытаюсь осваивать. Если даже правильный запрос на свой сервер не всегда с первого раза получается, значит левый запрос сделать ещё сложнее лол
Сейчас осталось только с доменом разобраться, локалхост как обычно работает Пик 1
site.vercel.app не работает, просто vercel.app тоже пробовал, та же ошибка Пик 2
Но уже хотя бы понимание приходит в каком направление двигаться, а не просто наугад тыкать, авось сработает, как в начале делал
243 2525225
тебе нужно сделать свой сервер и понять как работает http request-response cycle, тогда всё ясно будет. потому что я тоже залез в это говно начиная с корса, это неправильно было
image.png5 Кб, 210x122
244 2525308
Что в в выводе означает буква F?
245 2525311
>>25308
То что это инстанс конструктора F
246 2525541
Как проверить значение value инпут элемента на отсутствие введенных данных?
247 2525617
>>25541
if (!value.trim()){}
248 2525791
>>25617

>!value.trim()


Хах, забавно. Спасибо. Рака жопы жабаскрипту за такую типизацию.
249 2525794
>>25791
Какую оптимизацию? Сам кто по масти будешь?
250 2525801
>>25794

>оптимизацию


>>типизацию


Я больше по жабе. Там всё легко и просто, а тут ебаный цирк шапито.
251 2525805
>>25801

>Там всё легко и просто, а тут ебаный цирк шапито.


На жабе пустых строк не бывает и пользовательские инпуты не включают лишние пробелы/отступы?
252 2525812
>>25805
На жабе просто есть is.empty и можно кидать проверку на null куда хочешь.
253 2525814
>>25812
Какие нулы в HTML, наркоман?
254 2525817
255 2525819
>>25814
в дом стандарте раньше нуллы использовали как пустое значение, вместо ""
256 2525825
>>25819
Вот пусть и пиздует писать документы на XML.
image.png22 Кб, 799x223
Данил 257 2525861
Почему запросы на сервер отображаются в консоль логах? Мне бы хотелось это убрать, я так-то понимаю, что возвращается что-то вроде ошибки, но мне нужно ловить данный статус код что бы меять логику приложения. но я не хочу это отображать в логах. Как это можно исправить?
258 2525877
>>25791
Трим там только пробелы выпилить. Если пробелы валидное непустое значение, то просто !value или, если хочешь красиво if (!!value === false) {}.
изображение.png417 Кб, 960x540
259 2525883
>>25877

>красиво


>!!value === false

260 2525955
>>25861

>Почему запросы на сервер отображаются в консоль логах?


Их посылает клиент? Тогда почему ты считаешь, что не должны?

>но я не хочу это отображать в логах. Как это можно исправить?


Браузеры отображают неудачные запросы, которые они сделали, так что скорее всего никак.
Данил 261 2525985
>>25955

Понял, интересно посмотреть как это реализуют другие, буду разбираться
262 2525995
>>25985

>как это реализуют другие


respond 200 {"ruchka": "fail", "prichina": "neavtorizovan"}
263 2526009
>>25985
Срут на стандарт и отправляют 200 статус всегда.
264 2526012
>>26009
Это сраньё называется GraphQL.
265 2526037
>>26009
Это я так пошутил. На самом деле фронт должен знать, когда он авторизован, и не слать запросы в апи, которые зафейлят.
266 2526152
Перед тем, как начать учить MDN, насколько сильно надо уметь в вёрстку? Надо уметь верстать статичные макеты или с помощью jQuery уметь делать всякие slick и swipe слайдеры, финтифлюшные анимации кнопок, паралаксы и прочее?
267 2526265
>>26152
Зачем тебе учить MDN? Это просто справочник с информацией.
268 2526467
Нужно ли на сервере делать для всех entity deleteAll или delete контроллеры или не обязательно? Если delete, то там ещё придётся все связанные удалять
269 2526486
>>26467
Какой-то ебунатый вопрос. Если ссущности никогда не удаляются, то естественно не надо. Значение D в CRUD знаешь?
270 2526532
>>26486
Ну то есть нужно
Данил 271 2526536
Нужно сделать слайдер, я раньше их не делал, да и не видел таких слайдеров, поэтому сложновато, думаю как реализовать и пришел только 1 способу, поэтому хочу что бы вы оценили и сказали правильно или нет, или как-то можно лучше. Сама суть в том, что я не знаю как расположить правильно элементы, в JS потом изи будет сделать кнопку для переключение и просто немного подзаебаться для замены друг друга.

1 - скриншот сам слайдер(шаблон)
2 - скриншот, то как у меня вышло
3 - скриншот код то как я это сделал

То есть у меня есть меню, relative и каждый элемент будет абсолютным с захардкоженными значениями left. Изначально проблема была в том, что без этого я просто не могу нормально расположить каждый элемент поверх другого, ведь absolute все сбивает и я просто понятия не имею как можно сделать по другому, в целом так не слишком уебищно и позорно, или слишком?
272 2526623
>>26536
Пиздец, я крч в ахуе, хуй знает как это реализовать
273 2526636
Ну что вы, бетманы вкатуны?

Отсмотрел бОльшую часть курса Шварцмюллера по js, вроде более менее освоил БАЗУ, периодически применяю в работе, но зачастую не без гугла/стековерфлоу. По крайней мере простенькие скрипты теперь в состоянии писать/понимать + подключать и настраивать всякие свистоперделки. Помимо этого, есессна освоил кроссбраузерную верстку, хотя пишу в основном с помощью тейлвинда. Пробовал без него, получается, но пиздец насколько это медленнее, а сроки как правило горят всегда. В будущем возможно подтяну цсс и попробую вкатиться в препроцессоры. Суть не в этом.

Понял одно — в целом мне пиздецки скучно писать всякие слайдеры и подобное говно. Фетчить дату и парсить джейсоны, например, еще более менее интересно, но базовый фронт оказался довольно скучным. До этого немного пытался в реакт/некст, потому и пишу про работу с данными.

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

В связи с этим думаю попробовать потихоньку дрочить пыху. Стоит ли оно того? Думаю, что бэк будет поинтереснее, в т.ч. в связке с фронтом. На пыху выбор пал потому что это не настолько распиаренное говно как петухон, ей все еще довольно часто пользуются в СНГ + сам по себе язык показался несложным с довольно приятным с-подобным синтаксисом, очень похожим на js, а он мне по нраву.

Стоит ли перекатываться в очередной раз или все-таки досмотреть курс по js и потом трайхардить реакт, как я планировал ранее?

В идеале вкатиться бы в конторку, но мне и сейчас довольно часто стали заказы падать по верстке/вордпрессу, как начал этим плотно заниматься последние полгода.
274 2526677
Посоветуйте годных курсов на ангельском языке по ts/react. На русском чет хуйня одна. Или там тоже самое? Душные, монотонные обьяснения без четкой структуры и понимания нахуя вообще это делается. Порой удивляет, как вообще этот человек пришел в тому, чтобы начать делать курс и вещать на аудиторию.

На ютубчике всю годноту посмотрел
275 2526679
ананасы, подскажите, плиз, почему здесь будет NaN? недавно изучаю, не могу понять, почему не 4...

let a = new Array(1,2), b = new Array(3);
alert(a[0] + b[0]);


есть догадки, может из-за того, что одинаково заданы переменные? или же потому что скобки круглые, а не квадратные?
276 2526687
>>26679

>b = new Array(3)


Конструктор с одним параметром задает длинну массива и оставляет элементы undefined. Проверь b.length, она равна 3.

три секунды в гугле, ненавижу js-парашу
Данил 277 2526688
>>26679
Во втором варианте ты не задал значение в массиве, ты сделал обьект массива с длинной в 3 элемента
279 2526696
>>26687
>>26688
>>26691
спасибо, всем добра
280 2526707
>>26636
Считаю, что PHP — это нормально.

На должность PHP мидла в небольшую компанию, которая не является в веб-студией, но с очень интересными проектами даём тестовое задание написать на yii2 простенький новостной сайт с регистрацией и авторизацией используя базовые шаблоны yii2 (чтобы не думали над версткой) и в нем реализовать: CRUD для новостей и CRUD для уведомлений на страницу авторизованному пользователю и на почту, права доступа к базе данных, админку, партнёрку и обмен баннерами. Уведомления должны навешиваться на различные события. В качестве, примера в результате выполнения ТЗ должно быть уведомление, которое видит пользователь на странице при добавлении новой новости. Результат принимается на гитхабе или битбакете с условием, что название нашей компании нигде не будет фигурировать.

Я — ПМ, PHP не знаю и пишу на Python'e где-то часик в неделю. Мне кажется, что сеньор решит эту задачу достаточно быстро. Но вы даже не представляете какие гневные оды пишут соискатели: они требуют оплаты (обычно в районе 5 т.р.) за ТЗ, если они возьмутся его выполнять вне зависимости от результата — работа же выполнена; требуют только собеседования с испытательным сроком, требуют указывать им их будущую зарплату и тому подобное. То есть они именно требуют и пытаются ставить условия. При этом только некоторые из них дают ссылку на гитхаб и код у них там не ахти. В результате таким образом отсеивается порядка 99% соискателей. Остальные 1% решили сделать ТЗ и большая часть прошла до собеседования. В итоге так и не нашли действительно хороших и адекватных разработчиков, а проект закрыли.

Сейчас стартуем проект в новой области для нас и опять в поисках разработчиков и опять начались крики о том, что мы не правы. Какое ваше мнение как соискателя по отношению к там как мы? Всё правильно делаем или нет?
281 2526709
>>26677
У меня недавно был удивительный случай тестового задания. Тестовое задание представляло из себя написание CRUD для иерархической структуры данных, приложение должно представлять из себя SPA/javascript на фронтенде, REST API/php на бекенде. На задание я потратил приличное количество времени, точно больше недели (всё 1-9 мая просидел), несмотря на то, что у меня были все наработки для реализация и я активно использовал копипаст. В итоге я получил фидбек, в котором было сказано, что тестовое задание в целом выполнено хорошо, но у них в фирме используется knockout и они смотрят в сторону Angular2, а я использовал React, поэтому готовы предложить мне сумму на четверть меньше, чем я запрашивал.

Всё бы ничего, но, во-первых, мне можно было это сказать ещё на этапе собеседования, а не заставлять меня решать тестовое задание, в котором не было сказано абсолютно ничего относительно рекомендуемого стека технологий. И, во-вторых, позиция была php-разработчик, поэтому немножко нелогично отказывать из-за отсутствия знаний по фронтедну.

Фронтедну.
282 2526773
>>26707

>Я — ПМ, PHP не знаю и пишу на Python'e где-то часик в неделю.


Ты хоть высерок выше пытался на питоне писать?

>Какое ваше мнение как соискателя по отношению к там как мы? Всё правильно делаем или нет?


У тебя проект закрылся, пока ты единорога искал (на пыхе блять). Сам-то как думаешь?
283 2526790
>>26265
Ну JS учить по MDN
284 2526793
>>26265
Там есть учебник, неплохой
285 2526804
>>26636
Бэк скучнее фронта. Не представляю как люди этой херней занимаются.
image.png6 Кб, 212x129
286 2526958
Я уже выяснил, что "String" в выводе означает, что это инстанс конструктора String.
1. Но откуда оно берется? Я не нашел поля "constructor" у объекта или его прототипа.
2. Что такое [[PrimitiveValue]] и как оно хранится?
287 2526961
>>26958
3. Что означает запись {'20'}? Это же не является валидным объектом.
288 2527003
>>26958

>Но откуда оно берется?


Ниоткуда, тебя ебать это не должно.

>Я не нашел поля "constructor" у объекта или его прототипа.


Тебя ебать не должно. Виртуальная машина таким не оперирует, это сделано только для твоего удобства.

>Что такое [[PrimitiveValue]]


Внутренний слот объекта, хранящий в себе примитивное значение объекта. Что-то типа приватного поля класса.

>как оно хранится?


Как угодно. Тебя ебать не должно, т.к. ты в любом случае не взаимодействуешь с внутренними слотами.
>>26958

>Что такое [[PrimitiveValue]] и как оно хранится?


>3. Что означает запись {'20'}? Это же не является валидным объектом.


То, что это объект с примитивным значением в виде строки, очевидно же.
image.png5 Кб, 355x48
289 2527008
>>26958

>1. Но откуда оно берется? Я не нашел поля "constructor" у объекта или его прототипа.


Ты его не видишь. А он есть
290 2527035
Если я делаю текст форматом

Название: blablabla

Описание: blablabla

как лучше сделать

если так
<span>Название:</span> -> <div>blablabla</div>
<span>Описание:</span> -> <div>blablabla</div>
хуйня? или пойдет
291 2527041
>>27003
Смысли "Ебать не должно"? На собеседованиях же спрашивают.
image.png38 Кб, 436x353
293 2527059
>>26958

>Я не нашел поля "constructor" у объекта или его прототипа.


Ты и не искал.
294 2527102
>>27041
Так и говоришь - обозначает то-то, детали имплементации в стандарте не описаны. Говоря простым языком - ебать не должно.
295 2527106
>>27057
В стандарте нет слота [[PrimitiveValue]], это разрабы гугл чмониума запендюрили.
296 2527112
>>27035
почему бы везде не использовать тег p?
297 2527114
>>27035
>>27112
Для описания надо использовать элементы dd, dl и dt.
Для блока обычного текста p или article, для строчного выделенного текста b, i, span, strong
298 2527118
>>27114
т.е. типа так
<dl>
<dt>Описание</dt>
<dd>этот товар нужен чтобы блаблабал<dd>
<dl>
299 2527120
300 2527121
>>27120
спасибо
image.png134 Кб, 990x564
301 2527133
302 2527159
>>27133
Ты прав. Значит я долбоеб.
303 2527174
>>26707
А на пых-макаку-джуна какие тестовые у вас? Вообще для мидловой позиции это несложно, как по мне, просто долгая кропотливая работа.

>>26804
Мне больше нравится фуллстек проекты пилить с простым фронтом. Сидеть и запросы из БД ковырять действительно пиздецки скучно. Хз что делать короче.

Надо было на завод вкатываться, но я уже слишком долго в околоайти
b.png98 Кб, 888x560
304 2527179
Может мне кто-то объяснить почему у меня массив не объновляется, а продолжает наполняться?
305 2527186
>>27179
Потому что ты .stringify() выполняешь не на builder, а на newObj
bb.png114 Кб, 970x558
306 2527189
307 2527193
>>27186
ну newObj, это же копия билдера, не знаешь как массив в этом случае обнулить?
308 2527195
>>27179
this.arr.length = 0
309 2527196
bbb.png127 Кб, 1311x605
310 2527199
311 2527200
>>27195
не работает (
312 2527203
>>27199
>>27200
Так ты newObj создаешь новый массив и копируешь в него всё из предыдущего. Ятак понял, что ты хочешь сделать чейнинг, по аналогии с jquery? Тогда тебе надо return this писать в каждом методе.
bstr.png100 Кб, 971x582
313 2527209
>>27203
я написал все тоже самое только вместо массива использовал строку и оно работает, есть идеии?
314 2527215
>>27209
Строка по значению передается, массив - по ссылке.
Ты что хочешь сделать то вообще?
315 2527218
>>27215
я хочу разобраться, почему строка обнуляется, а массив нет? То что он передается по ссылке я знаю почему ссылка не обновляется на пустой массив?
316 2527223
>>27218
Он обновляется, но в newObj.
bbbb.png131 Кб, 1016x603
317 2527228
>>27223
все я сделал, я что то не выспался
318 2527298
>>27059
Искал. Просто просмотрел.
1234.jpg460 Кб, 1904x1086
319 2527369
Уважаемые фронтэндщики (элита), у меня вот такой вопрос:

Есть общий внешний контейнер (белый фон), а внутри wrap-ящиеся карточки, и вот между ними должен быть еще контейнер, который просто выделял бы эти группы карточек цветом, и всегда соответсвовал бы ширине контента с небольшим padding. Как такое сделать?

Как переносить карточки если закончилась ширина я знаю. Как установить родительскому элементу ширину по его дочерним элементам я тоже знаю. Но вот как сделать одновременно и wrap и ширину родителя по врапящимся карточкам я не знаю. Т.е. если речь не идет об использовании js, тогда уже без разницы, решение найду, но не хотелось бы теребить код ради такого.
320 2527381
>>27228
ну и вырвиглазная хуита, прощай зрение
321 2527383
>>27369
нихуя не понял если честно, что надо то?
322 2527414
>>27383
Нужно, чтобы вот эта синяя рамка всегда автоматически по ширине подстраивались под ширину карточек внутри, но проблема в том, что эти карточки могут переносится по строкам флекс врапом, и поэтому автоматически я не знаю как ширину вот этого синего контейнера под ширину заполненных карточек адаптировать
323 2527419
>>27414
gap: 0; а "рамка" - бордер/паддинг карточек.
324 2527420
>>27419
Я так думал сделать, но проблема в том, что тогда не получится сделать как на нижней части картинки, ширина рамки должна быть общей для всех рядов
325 2527760
2 вопроса.
1)else вообще нельзя в коде использовать?
2)promise.all юзать только когда результат нужно получить?
326 2527792
Где искать работу помимо очевидных вариантов?
327 2527796
>>27760

>1)else вообще нельзя в коде использовать?


Чего блять, иди проспись и прекращай читать инфоцыганскую парашу

>2)promise.all юзать только когда результат нужно получить?


Какое блять отношение Promise.all имеет к получению результата? Доки открывать пробовал?
328 2527834
>>27796

>Чего блять, иди проспись и прекращай читать инфоцыганскую парашу


ты не прав сейчас

>Какое блять отношение Promise.all имеет к получению результата?


ну смотри массив можно просто обойти, а можно результат с него получить
329 2527836
>>27834

>ты не прав сейчас


Понятно, тогда читай инфоцыганскую поебень дальше, нахуй ты пришел сюда чето спрашивать?

>ну смотри массив можно просто обойти, а можно результат с него получить


С массива нельзя ничего получить, поехавший, массив - это просто массив
330 2527846
>>27836

>С массива нельзя ничего получить


Ну наверное можно, потому что у массива есть внезапно методы, не говоря уже о прочих конструкциях типа for of или обычных циклов. Давай отдыхай, ламер
331 2527859
>>27846
Чмо блять опущенное, давай, показывай, как ты собираешься "получить результат с массива". Дебил сука ебаный, ты русский язык в школе прогуливал? Посрал тебе в пасть, сглатывай
332 2527860
Примитивы при передаче/присваивании всегда под капотом копируются, или нет?
333 2527872
>>27859
Нах ты так бахнул братан, получать результат с массива можно с помощью почти любого из методов массива, например map создаёт новый массив и заполняет его полученными результатами после выполнения функции с каждым элементом массива. А метод forEach ничего не возвращает, а просто обходит массив. Всему вас учить надо
334 2527874
>>27860

Примитивы в современных движках - это тегированый указатель на элемент в пуле объектов определеного типа.
При присваивании.передаче копируется этот указатель. Размер указателя 32/64 бита в зависимости от архитектуры.

Значения Small Int (31 битные целые на 64хбитный архитектуре, и 30-битные на 32х битной) хранятся прямо в указателе. Числа большей разрядности или дроби или bigint хранятся в пуле.

Строке и символы тоже хранятся в пуле.

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

Пулами управляет сборщик мусора, когда на объект в пуле больше не остается указателя он удаляется.

Отвечая по существу на твой вопрос - при предаче или присваивании куда либо любого значения, примитив это или объект, в js коипруются только указатели. В своременных реалихя это всегда 8 байт.
335 2527894
>>27874

>В своременных реалихя это всегда 8 байт.


Т.е. указатели только внутри кучи сжимаются?
336 2527900
>>27894
Указатели вообще не сжимаются. Тегированный указатель - это уже сжатое значение, которое описывает тип и адрес (или значение) чего-либо.

Здесь описана логика в v8 https://v8.dev/blog/pointer-compression
Но в spidermonkey и javascriptcore на сегодня принцип тот же самый.

Ну и теггированные указатели использовались с самого начала, еще в Mocha. Именно поэтому typeof null == 'object', потому что первые версии оператора typeof опирались на тег в указателе, а и у null и j,ject тег 0.
337 2527911
>>27872
Скажи, ты траллируешь или ты реально настолько туповатый? "Результат с массива" получить нельзя, потому что понятие массива не предусматривает никаких результатов. То, о чем ты говоришь, является результатом операций, производимых над массивом, и, более того, не имеет никакого отношения к изначально заданному вопросу про то, что "Promise.all надо использовать только когда хочешь получить результат". Какое блять отношение получение какого-то результата имеет отношение к Promise.all? Прекрати уже пускать подливу в трусишки
338 2527935
>>27911
ну я работаю с массивом и получаю с него результат ну точнее в моём случае я его просто прохожу я хз как тебе ещё объяснить, ну у меня forEach работает без Promise.all я уже затестил, от вас ответов нормальных не дождёшься ёбаный вротик
339 2527974
>>27935

>forEach работает без Promise.all


Можешь выйти в окно.
340 2527981
>>27974
блять зачем ты сидишь в треде говно душное токсичное не человек а параша ходячая
341 2527995
>>27981
Тупая мелкобуква кого-то ещё будешь парашей называть, лол.
342 2527999
>>27995
ну типов вроде тебя, ходят-воняют чем не параша блин
343 2528012
>>27999
Пока что тут ты насрал в треде непонятный высер.
344 2528023
>>27935

>ну я работаю с массивом и получаю с него результат


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

>у меня forEach работает без Promise.all


Ты сам вообще понимаешь, что ты несешь? Какая нахуй связь между forEach и Promise.all? Пиздец, иди книжку почитай какую-нибудь, пока что ты высираешь поток невнятной околесицы, я даже не знаю, как это комментировать блять
Стикер186 Кб, 128x128
345 2528084
>>28023
>>28012
Я же вижу ты наверное неплохой человек, иди пивка хлопни что ли, откуда в тебе столько злобы не понятно
346 2528096
Подскажите по поводу jest + ts. Запускаю `tsc` и вместе с `.ts` файлами в `/bild` комплится и тесты `__.test.ts`. Это норм практика, или лучше в конфигах прописать, чтоб тесты не компилировались?
347 2528120
>>28096

>bild


А функции ты называешь checkOplata и proveritNumber?
348 2528128
>>28096
А вообще - да, разумно отключить, какой смысл их деплоить?
349 2528279
>>28096
Скриптом убирай тесты после билда. Или отдельный конфиг для тестов.
image.png1,7 Мб, 1011x1355
350 2528313
>>28120

>4ekOplata


Сынок...
351 2528359
Если у меня условный апи сервер на одном адресе и фронтенд сервер на другом, у куков, создаваемых апи сервером, должен быть домен фронтенд сервера?
352 2528451
353 2528517
>>27760
1)else вообще нельзя в коде использовать?
Можно. После if.
2)promise.all юзать только когда результат нужно получить?
Его используют с промисами, чтобы дождаться выполнения всех промисов.
354 2528583
>>28517
Неееееет, элс нильзя испалзавать, мне так скозали на курсе "вкатываемся за три дня от вазгена ашотовича"
355 2528627
>>28279

>Скриптом убирай тесты после билда


Братишка, зачем ты советуешь говно? Он ведь щас реально пойдет так сделает, а тебе потом разбираться в его ебнутых пайплайнах. Не надо так
356 2528630
>>28627
То ли дело в каскадных конфигах разбираться.
357 2528641
Как правильно стандартные глобальные объекты и функции называются (типа Math, Date и т.д)?

Я вообще правильно понимаю, что Math - это объект, у которого мы дергаем функции, а Date - сам по себе является функцией (конструктором)?

Что тогда с точки зрения JS означает вызов Date.now()
358 2528651
>>28641
Никак, потому что это мешанина из легасиговна. Date ближе к обычному классу, просто у него ещё реализована сигнатура вызова. А Date.now() - типичный вызов статичного метода.
359 2528652
>>28651

>просто у него ещё реализована сигнатура вызова


Как это выглядит в js-коде?
360 2528654
>>28630
А зачем в них разбираться? Написал конфиг для тестов, и никогда туда не заглядываешь, за исключением случаев, когда с тестами хуйня. Все-таки лучше немножко насрать один раз в окружение разработки, чем постоянно подсирать новые скриптики в окружение деплоя
361 2528656
>>28652
function Date(...args) {if (!(this instanceof Date)) return new Date(...args) }
362 2528664
>>28652
Никак, лол. Если ты заэкстендишь билтины с такими сигнатурами, то подкласс теряет эту сигнатуру.
>>28654

>Написал конфиг для тестов, и никогда туда не заглядываешь


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

>чем постоянно подсирать новые скриптики в окружение деплоя


Учитывая, что запуск тестов является частью пайплайна, разницы нету. Рано или поздно один хуй процедура билда выльется в отдельный каштомный скрипт.
363 2528707
>>28664
Ну разница таки есть, все-таки отдельный конфиг - это стандартное и прямолинейное решение, а очередной каштомный скриптик по вычистке говна из жопы мало кто захочет читать
364 2528786
Мне нужно не отображать компонент, если таблица в базе пустая, как это сделать на vue?
365 2528840
>>28786
:v-if="table_data.length"
366 2529156
>>13029 (OP)
Сап, как решается проблема потери контекста в функциях?
367 2529170
>>29156
Использованием стрелочных функций. Учебник открывать пробовал уже?
368 2529271
>>28707

>это стандартное и прямолинейное решение


Это не к тестовым фрейворкам относится.
369 2529366
Привет, парни, нуждсь в некой консультации. Сферу программирования активно изучать я начал относительно недавно до этого были некие знания по основам html css и углублено в эти дебри лезть я не стал, перешёл сразу к изучению JS на сегодняшний день кое как разобрался с основами и написал небольшой каталог с админ панелью, регистрацией и т.д ну это не суть.
Целью всего изучения до этого был переход к библиотекам react и ts, но посколько я парень еще не совсем опитный, часто туплю как в написании коде так и "сленге" людей что приподнялся материал.
Хотел бы уточнить есть какие-то мотоды что могут упростить вхождения в мир этих lib или ресурсы которые могут подробно на пальцах объяснить материал и первые шаги.
370 2529424
Вот объясните мне, простому крудошлепу, вот эти вот все юсколбеки и юсмемо в реакте существуют ток для мемоизации значений/функций которые передаются(!) в качестве пропса(!) другим компонентам?
371 2529448
>>29424
Не только. Ответил на твой вопрос?
373 2530531
Подскажите пожалуйста, window.open может принимать атрибут href у переменной, как ниже?

window.open(url.href);

Дело в том, что в переменной url лежит ссылка по типу:

<a class="list-group-item list-group-item-action" href="https://www.google.com/" target="1670152189c1">https://www.google.com/</a>

И windows.open может открыть ее и без указания атрибута href, но меня интересует, когда я указываю его именно команде window.open она его видит? Или же игнорирует и открывает именно саму переменную без атрибута?

В сети, что-то я не нашел таких примеров.
374 2530567
>>30531
Я нихуя не понял, честно говоря, и в первую очередь не понял, зачем ты используешь window.open
wallhaven-wyzzlp.jpg479 Кб, 1920x860
375 2530782
Анон, посоветуй какие-нибудь шаблоны проектирования гуя, я уже заебался. MVC очевидно хуйня и не работает в переспективе. Пытался осилить scheme-driven, но хуй знает даже, выглядит как изобретение ещё одного скриптового языка в скриптовом языке. Хехмда.
Что ещё можно придумать? Как всё разделять нормально, блядь?

Сейчас сами данные, методы и евенты всяких текстовых полей и кнопок хранятся в массивах как объекты, объекты гуя. Рест через объекты-агенты-обсерверы, на которые подписываются объекты гуя.
Есть ссылочное дерево в виде массива с ключами объектов гуя, но хуй знает даже, оно вообще нужно? Оно почти полностью повторяет функционал скриптов инициализации по сути.

Пиздец какая-то каша и я не понимаю вообще как всё организовать нормально чтобы заебись было и быстро перепроектируемо всё это. Как scheme-driven как-то, чтобы схема просто вставлялась в ссылочное дерево? А как создавать объекты-агенты-обсерверы тогда? Тьхфу, блядь, шизофрения.
376 2531051
>>30567
А что ты предлагаешь использовать?
377 2531235
>>31051
Голову, при формулировке вопросов.
изображение.png15 Кб, 1240x137
378 2531238
>>30531

>может принимать атрибут


В js очень маленькое колиичество функций принимают аттрибут (Attr). В твоем случае аттрибутов вообще нет.

>в переменной url лежит ссылка


В JS нет ссылок. Есть строка, а есть объект класса HTMLAnchorElement.

>И windows.open может открыть ее и без указания атрибута href, но меня интересует, когда я указываю его именно команде window.open она его видит? Или же игнорирует и открывает именно саму переменную без атрибута?


>В сети, что-то я не нашел таких примеров.


Потому что ты не искал, а решил сразу посеменить итт.
На, читай. Тут все описано, в том числе ответ на твой вопрос: https://html.spec.whatwg.org/multipage/nav-history-apis.html#dom-open-dev
379 2531240
Парни, привет!
Есть ли интересное жс коммьюнити/сосаити, где можно поговорить на тему отладки и RnD? Лучше, если англоязычное. Есть материал, который хотелось бы не только читать, но и публиковать. От пресных медиумов и dev.to уже тошнит, на жидхабе летят страйки за нарушение копирайта.
380 2531316
>>31238

>В js очень маленькое колиичество функций принимают аттрибут (Attr). В твоем случае аттрибутов вообще нет.


Есть. HREF это атрибут HTML, из моего поста это и так понятно. JS работает с HTML, и из моего поста также понятно, что HREF - имелось в виду атрибут HTML. Пруф ↓
https://www.w3schools.com/tags/att_a_href.asp

>The href ATTRIBUTE specifies the URL of the page the link goes to.



>В JS нет ссылок. Есть строка, а есть объект класса HTMLAnchorElement.


А речь шла не о JS, посмотри код из моего поста с тегом А, это код HTML а не код JS
https://www.w3schools.com/tags/tag_a.asp

>The <a> tag defines a HYPERLINK, which is used to link from one page to another.



>Потому что ты не искал, а решил сразу посеменить итт.


Ну да, так и есть, но ты начал к словам придираться, хотя из поста и так ясно, что речь идет не о JS, а о способе JS обработать HTML объекты. Так что в моем посте HREF это действительно аргумент и ссылка там настоящая(в тэге "A").

Короче можешь не отвечать, в этой помойке и так нихуя помощь не оказывают, а только ищут способ доебаться на пустом месть, тем самым повысив свою самооценку, типа я такой умный, а если ты неправильно термин сказал, я прикинусь что нихуя не понял, чтобы потом правильными терминами щеголять, и теории расписывать, вместо простого ответа на вопрос или дачи ссылки с объяснением. Легче срач устроить из ничего, чем тупо ответить, да или нет.
381 2531318
>>31316

> HREF это атрибут HTML


Да. В HTML нет некой структуры "window.open", так что делаем вывод, что речь идет про JS, а не про HTML.

>JS работает с HTML


JS НЕ работает с HTML. JS работает только с обобщенным интерфейсом, называемым DOM. И все возможности работать напрямую с HTML (innerHTML, DOMParser) подразумевают работу именно с DOM.

>речь идет не о JS, а о способе JS


Ладно. К психиатру ходил уже?

>HREF это действительно аргумент


У тебя аргумент строка, а не href. Иди учи синтаксис языка, в любом учебнике одна из первых глав.

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


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

>https://www.w3schools.com

382 2531351
>>31318
Бля, как я и говорил выше, ты отвечаешь не с целью дать ответ на вопрос, а тупо доебаться, по типу, ты написал ться без мягкого знака, поэтому, я притворюсь что нихуя тебя не понял, и отправлю на грамота.ру, чтобы унизить тебя и тем самым повысить свою доминантность.
Вместо обычного ответа на вопрос, переходишь на личности, унижения, и оскорбления. Денегерат ебаный здесь ты, потому что развел специально срач на пустом месте, чтобы показать здесь, какой ты неебацо крутой, и что все термины знаешь и других оскорбляешь за неверное применение этих самых терминов. Иди в пизду короче, сын шлюхи, хуево быть тобой, куском говна, который сидит здесь 24/7 и выискивает анонов, которые, по его мнению, вопрос не правильно зададут, чтобы после доебаться до них, вместо простого ответа. Ты просто конченный выродок, хуесос и пидарас, просто смирись с этим фактом, хуйло.

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

Алсо

>посеменить итт.


Ты хоть значение то знаешь этого слова, дебил опущенный? То был мой первый пост ИТТ, ни при каких условиях нет смысла семенит в этой ситуации.
383 2531363
>>31318
В довесок скажу что - https://www.w3schools.com
Это отличный учебник для различных языков программирования, и то, что всякий навоз из под ног, вроде тебя, что то там пиздит на него, хуже от этого он не станет. Всем похуй, дегройд ебучий.
384 2531386
>>31351

>Бля, как я и говорил выше, ты отвечаешь не с целью дать ответ на вопрос


Нет дружок, я ставлю целью ответить на твой вопрос и параллельно доебаться.

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


Я дал тебе ответ на вопрос. Семенить продолжаешь тут только ты.

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


Да, потому что ты реально недалекий. Тебе уже второй анон пишет, что ты не прав, но ты свою палку гнуть продолжаешь.

>Иди в пизду короче, сын шлюхи, хуево быть тобой, куском говна, который сидит здесь 24/7 и выискивает анонов, которые, по его мнению, вопрос не правильно зададут, чтобы после доебаться до них, вместо простого ответа. Ты просто конченный выродок, хуесос и пидарас, просто смирись с этим фактом, хуйло.


Так чем тебя ответ мой не устроил? По существу отвечай. Если не понимаешь что написано в стандарте - задавай соответствующий вопрос.
>>31363

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


Плохой это учебник. Переполнен плохими практиками и устаревшими технологиями, как старт подойдет, но если ты пытаешься хотя бы джуном вкатится лучше его избегать.
385 2531462
>>31316

>вы все токсики, а поэтому ваши советы не советы, а спеки не спеки


Ничего себе предъявы. Вы к нам с вумен.ру? Добро пожаловать, поешьте говна.
386 2531637
>>31316

> JS работает с HTML


JS работает с DOM.

>что HREF - имелось в виду атрибут HTML


У HTML нет "аттрибута" HREF. Ты наверно имел ввиду интерфейс HTMLAnchorElement.

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


Конечно же проблема в том, что все не отвечают на твой криво поставленный вопрос, а не ты являешься косноязычным дебилом.
387 2531651
>>31351

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


Тащемта тот пост вполне оскорбил меня уровнем тупости.
>>31363
Он написан на устаревшем кривом высерке от майкрософт, так что в контексте следования стандартам веба он абсолютно не авторитет.
388 2531654
>>31363

>w3fools


>хороший учебник


Аж подливу расплескал с тебя. Продолжай заниматься по нему, так и останешься дурачком, который двух слов связать не может, шлёпает дивы и копипастит с SO
389 2532190
ебаный редакс, нахуй так все услоднять..
390 2532225
>>32190
Чтобы заставить тебя десять раз подумать, нужно ли тебе добавлять ещё одно поле в глобальный стейт, а потом подумать ещё десять раз
391 2532350
Как правильно сделать аналог вызова "pg_dump dbname > dumpfile" в ноде, но без шела?
Как я понял мне надо создать WriteStream на пути к файлу, вызвать соснолечку через spawn("pg_dump", ["zalupa"]) и как-то передать врайтбл покпок в неё. Только блять примеры какой-то вырвиглаз с перекидыванием stdin/stdout в ивентах туда-сюда.
Аноним 392 2532363
>>32350
pg_dump --file=dumpfile dbname
393 2532364
>>32190
чего блять сложного в редаксе, одноклеточный?
394 2532377
>>32363
Это конечно точечный ответ на конкретную команду, но мне нужно знать, как реализовывать башевские операторы, типа "|", ">", "<", на нодовских потоках.
395 2532385
>>32377

> башевские операторы, типа "|", ">", "<"


оперируют stdin/stdout, так что, должно быть, ты нашёл корректные примеры.
396 2532413
Насколько я жалок из 10 если мечтаю стать веб-макакой?
397 2532450
>>32413
Вебмакакерство почётно, тут всё реактивно, евентово, функционально и вообще интересрно. Это дебилы-жависты пытаются перефорсить и свою ооп-боль на нормальных людей спихнуть.
398 2532502
В чем разница между примитивами и объектами?
399 2532509
>>32502
С каких пор в жс появились примитивы?
400 2532510
>>32509
В ЖС никогда не было концепции everything is an object, ты что-то путаешь. Есть боксинг, за счет чего достигается поведение обжект-лайк, но это не взаимозаменяемые явления.
401 2532513
>>32502
Копирование по значению и по ссылке.
402 2532520
>>32509

>С каких пор в жс появились примитивы?


Всегда, нет?

>>32513

>Копирование по значению и по ссылке.


Так не копируется же (в общем случае). Примитивы, собственно, поэтому и иммутабельны все, что никакого копирования.
403 2532521
>>32510
Ну ок, возможно я чего-то не понимаю. Поясни тогда за понятие примитива
404 2532544
>>32520
При копировании иммутабельность не нарушается, ты не изменяешь значение копипуемой переменной.
А под капотом у тебя глобальное пространство всех используемых примитивных значений, которые копируются по ссылке для оптимизации количества выделяемой памяти.
405 2532562
>>32544

>При копировании иммутабельность не нарушается


Если бы копировалось - то не нарушалась бы. Вот только нет никакого копирования, поэтому от мутабельности пришлось отказаться.
406 2532604
>>32544
Под капотом тащемта массив байтиков, хуй знает про какие переменные и ссылки ты говоришь.
407 2532607
>>32562
Не смешивай теорию с фактической имплементацией. То, что на практике примитивы в в8 копируются по ссылке, не означает, что по стандарту примитивные, они же значимые типы, копируются по значению. В противном случае можно смело утверждать, что Web API является неотъемлимой частью жс, или что жс многопоточный, потому что в8 многопоточный.
408 2532611
>>32604
Очевидно, что там несколько уровней абстракции. Ты же не говоришь, что под капотом скомпилированного софта байткод?
409 2532703
>>32611
Хули ты тогда залечиваешь про под капотом? На уровне написанного жс кода нет никакого "глобальное пространство всех используемых примитивных значений, которые копируются по ссылке для оптимизации количества выделяемой памяти". Есть только примитивы и ссылочные типы.
410 2532736
>>31240

>Есть ли интересное жс коммьюнити/сосаити, где можно поговорить на тему отладки и RnD?



Гайз?
image.png43 Кб, 492x436
411 2532795
>>32703
В приведеном коде объект val ссылочный, или примитивный?
412 2532813
>>32795

>FinalizationRegistry


Шизик, опять ты? Ссылочный.
413 2532819
>>32813
И в чем же его отличие от примитивного,в таком случае? Ведут они себя одинаково, с точки зрения пользовательского кода.
414 2532823
>>32819
Ну даже не знаю, наверно в том, что по ссылке передается?
var v = new val({a: 1});
v.someProp = 123;
var v2 = new val({a: 1});
console.log(v2.someProp) // угадай вывод шизик припадочный
image.png24 Кб, 486x227
415 2532827
>>32823
Ты действительно такой узколобый или прикидываешься? Ну на. Угадаеш результат?
416 2532829
>>32827
Ну а я расфризил, нахуя мне зафриженый объект? Я че бля на плюсах пишу?
417 2532830
>>32829
Нелья расфризить зафризенный объект.
418 2532832
>>32830
Можно, убрав твою строку, которая его фризит.
419 2532835
>>32832
Ясно. То есть ты наконец понял, что отличий от примитива нет?
image.png27 Кб, 744x304
420 2532844
421 2532862
>>32795
Ты накатал такой пример только лишь ради попытки неудачного троллинга. С таким же успехом можно утверждать, что любой объект, который имеет в цепочке метод valueOf/toString - это примитив.

Скучно же.
422 2532865
>>32862

>который имеет в цепочке метод valueOf/toString - это примитив.


Нельзя. Потому что иметь методы для кастования в определенный тип недостаточно для того, чтобы вести себя так же как примитивный тип.
423 2532869
https://github.com/tc39/proposal-type-annotations

Наверно уже обсуждали будущий завоз типов в JavaScript. Но меня переполняет радость
424 2532870
>>32869
Нахуя + зачем? Один хуй будет выпилено минификатором.
425 2532871
>>32835
>>32844
Все заебал, мне больше не к чему доебаться, доволен?
426 2532873
>>32869
А ты уже прочитал количество предыдущих завозов типов в javascript, и причины их отклонения, прежде чем радоваться?
427 2532874
>>32871
Да не трясись ты так.
428 2532877
>>32869
Не взлетит.
429 2532909
>>32795

>class


Сам-то как думаешь, наркоман?
430 2532917
>>32607
Так это не я смешал, это смешали те, кто отказались от мутабельности из-за того, что ничего никуда не копируется.
431 2532924
>>32819
Двачую. Собственно, с этого я начал вопрос, но тут же набежали "ря, копируется, ря на стеке". Хотя не копируется и не на стеке, а с точки зрения меня, пишущего код - принципиальная разница не понятна.
432 2532983
>>32924

>Собственно, с этого я начал вопрос


Ты не начал вопрос, а захотел выебнуться знанием кишочков v8. Плюс ещё высрал говнокода. Однобуквенные аргументы, мутация через __proto__ (не подскажешь, почему просто не использовал "Object.defineProperty("prototype", {...})" ?), перегруженные конструкторы, возврат из конструкторов. Ну а за Object.assign() внутри классового конструктора вообще пиздить надо.
Типичный поехавший пердолик.
433 2532999
>>32983

>Object.defineProperty("prototype", {...})


Мог дальше не продолжать. Все поняли твой уровень знания языка.
434 2533000
>>32999
Мне вот интересно, ты на работе реально таким пердолингом занимаешься? Если да, то что в твои задачи входит? Или ты просто увлекся изучением всякой кринжовой хуятины?
435 2533012
>>33000
Ты сейчас на полном серьезе назвал знание об устройстве своего инструмента - кринжовой хуятиной?
436 2533015
>>33012
Да, на полном серьезе. Эта хуйня нужна в 0.1% задач и даже если знать её устройство, то оно забудется, потому что задач на использование это говна просто нет в природе. По крайней мере - сейчас.
437 2533016
>>33015
Мне жаль тебя.
438 2533017
А на сайтах можно как-то изменять JS код, имея доступ только как пользователь?
Ну например тут на харкаче, если пост пустой, то джаваскрипт не пропускает отправку. Можно как-то это изменить или, например, убрать какую-нибудь проверку. Ну в общем, модифицировать код, который выполняется?
439 2533020
>>33017

>джаваскрипт не пропускает отправку


Ты уверен в своих словах? Не думал о том, что пост отправляется, но приходит ответ о том, что пост не опубликован по причине спам-листа?
440 2533021
>>33016
Т.е. ты просто формошлеп-любитель пердолинга, я тебя понял.
441 2533023
>>33020
Ну сам загляни в консоль?
442 2533026
>>33015
Ловко ты сейчас аннигилировал всех существующих разработчиков библиотек, фреймворков и движков. Их значит как бы нет, но задачи их выполняются.
443 2533030
>>33026
Пример библиотеки, в которой используется предложенный тобой пердоллинг с FinalizerRegistry или заменой прототипа на прокси предоставить можешь?
444 2533032
>>33017

>А на сайтах можно как-то изменять JS код, имея доступ только как пользователь?


Да, можно. Гугли greasemonkey, tampermonkey и подобные расширения.

>Можно как-то это изменить или, например, убрать какую-нибудь проверку.


Можно. Только сервер то все равно проверит.
445 2533033
>>33023
Дай мне пример слова из спамлиста.
446 2533034
>>33030
Пример разработчика DX-продуктов жс, который не знает как устроена память в жс, ее управление и объектная модель, привести можешь?
447 2533037
>>33034

>Пример разработчика


Я. Когда пример либы/фреймворка/движка от тебя ждать?
448 2533040
>>33037
Так ты и не пишешь dx-продуты. Ты даже как язк устроен не знаешь.
449 2533042
>>33040
Пример предоставишь или ты только пиздеть горазд?
450 2533044
>>33032
Пасиба, это просто оказалось. Буду теперь пробовать на разных сайтах, может где-нибудь не озадачились проверкой на сервере

>>33033

>Дай мне пример слова из спамлиста.


>если пост пустой, то джаваскрипт не пропускает отправку

451 2533046
452 2533047
>>33044
Такого формата конечно можно поменять, но сервер в любом случае может (и должен) проводить валидацию повторно.
453 2533071
>>33047
Я не знаю конечно, я сам с бэка перекатываюсь, но мне кажется такие макаки должны быть, которые только у клиента проверку сделали и всё, а с базой особо не заморачивались. Ну я простенькие сайты какие-нибудь имею в виду.
454 2533076
>>33071

>простенькие сайты какие-нибудь имею в виду


Двач далеко не простенький сайт в плане валидации. А так да, вполне.
455 2533085
>>33076
Да вроде в теории должно быть предельно просто:
- ограничение по количеству символов
- ограничение по размерам и MIME-типам файлов
- валидация капчи
- ...?
456 2533087
>>32873
Нет. А можно ВКРАЦИИ какие были причины?
457 2533089
>>33085
такое явление, как вайп тредов наблюдал? Попробуй сделать защиту от него. Хотя бы обмозгуй.
458 2533091
>>32870
Для того же, для чего сейчас используют тупо скрипт. Только не нужны будут транспайлеры
459 2533096
>>33091
ну ахуеть бля, в языке же проблем нет кроме как транспайлеры.
460 2533117
>>33096
В языке действительно нет проблем.
Все проблемы в твоей голове.
461 2533203
>>32869

>Stage 1

462 2533249
>>33089
Ну это уже не совсем про валидацию. Этак ты и баны в валидацию запишешь
463 2533251
>>32999
Манёвр на засчитан. Давай оправдывайся, нахуя ты дёргал __proto__, но при этом используешь вполне современные фичи, языка типа приватных полей.
464 2533255
>>33012
Ты знаешь "устройство инструмента", но при этом не умеешь писать на нём код?
image.png5 Кб, 197x147
465 2533802
Почему так?
466 2533841
>>33802
Внешняя и внутреняя иммутабельность. Если знаешь питон, то жир будет примерно как ("bar", ["foo", 1])
467 2533850
>>33841
*это
468 2534010
>>33802
Фича браузерной соснолечки, которая принтит по референсу. В ноде уже такое не пройдёт, так как там обычный сериализуемый поток ввода/вывода. И да, привыкай вызывать JSON.stringify() в таких случаях.
469 2534012
>>33802
Это постинкремент. Значение возвращается до того, как произойдет присваивание результата сложения с единицей.
470 2534019
>>34010
Всегда удивляло, почему в ноде принт в сонсоль синхронный. Это же I/O, вывод в который бай дефолт должен быть асинхронным.
471 2534027
>>34019
Так он не сихронизирован с stdio по умолчанию.
472 2534307
бля подскажите как вернуться к прошлому коммиту?

есть коммит после которого я наговнокодил и хочу вернуть файлы к прошлому коммиту
473 2534323
>>34307
git reset ХЕШКОММИТА
474 2534325
475 2534446
>>34307
Пчел, учись спрашивать такое у гугла, на ответах в треде далеко не уедешь.
image.png20 Кб, 417x451
476 2534827
Изучаю ивент-луп. В данном примере симулирую фетч-запрос (с помощью браузерного таймера). Запускаю его с помощью колбэков. Почему результат вывода именно такой? Разве тик евент лупа не должен поместить колбэк таймера в последнюю очередь? Или такой вывод из-за атомарности функций?
477 2534878
>>34827
Потому что ты в setTimeout передаешь не функцию, а результат ее вызова. Тебе для начала надо подтянуть знания семантики самого js, прежде чем на евент луп переходить.

Твой код в 10 строке должен выглядеть так setTimeout(cb, 3000, 'some result') чтобы он повел себя, как ты планировал. Сейчас твой код совершенно бессмысленен.
478 2535365
Можно ли сказать следующее, касаемо различия между промисами и колбэками: в колбэках происходит неявная передача управления другой стороне программы (которая в свою запускает нашу программу где то под конец как продолжение собственной), а в промисах, в качестве упрощения, ожидаем завершения задачи (.then), и потом решаем, что делать с данными.
479 2535662
>>35365
Нет
480 2536445
>>35365
Да.Только я бы еще уточнил что

>в качестве упрощения, ожидаем успешного завершения задачи (.then)

481 2537062
Вопрос по NodeJS.

Когда мне надо удалить объект из массива, я для безопасности (на случай, если удаление будет внутри forEach по массиву) обычно пишу:
this.expired = true; // чтобы сразу предотвратить использование объекта
setImmediate(() => { / удаляем здесь этот объект / }) // чтобы действительно удалить объект из массива

Так вот вопрос: если я так запланирую удаление тысячи объектов, например, не засру ли я ивент луп маленькими задачами, каждая из которых будет занимать целый тик? Или я не понимаю, как работает нода, и фиксированного по времени минимального тика у неё нет?
482 2537067
>>34878

>Твой код в 10 строке должен выглядеть так setTimeout(cb, 3000, 'some result')


Так никто не пишет, лол, а значением третьего аргумента в setTimeout можно валить синьоров на собесах.
Вот что ему надо:
setTimeout(() => cb('some result'), 3000)
483 2537076
>>37062
В общем, провёл замеры.
У меня примерно три миллиона immediate'ов срабатывает в секунду, так что никакого минимального тика, похоже, нет.
484 2537077
>>37075 (Del)
Это точно актуально на фоне моих замеров? >>37076
485 2537089
Что ж, некоторый оверхед при использовании setImmediate действительно есть, лучше всего заметный как раз на маленьких задачах. Похоже на накладные расходы "положить в асинхронный стэк/достать из асинхронного стэка".
486 2537101
Есть такие кто учил js, устроился верстальщиком и потом вкатился в фронтенд разработку? Как лучше вкатиться через верстку или доучить js и реакт и пытаться вкатиться полноценным джуном?
487 2537102
То есть если берут, то потерпеть пол годика за копейки и попробовать уже вкатиться в более качественное место?
488 2537117
Что думаете. Идти ли в галеру с плохими отзывами сотрудников на должность верстальщика. Получить опыт пол года, слинять от туда и попробовать устроиться уже на полноценного джуна-разработчика? Или работать в другой сфере и дальше изучать фронтенд по 2-3 часа в день и искать работу с лучшими условиями?
489 2537120
>>37102
По моему опыту, фронтэнд и вёрстка всегда идут рука об руку, как try и catch, как Бивис и Баттхед, как белка и орехи. Тебе и будучи реакт-синьором регулярно придётся трахаться с sass.
490 2537145
>>37075 (Del)
Вообще, вот тут, например, пишут, что разбрасывание задач с помощью setImmediate - хороший тон даже с учётом естественного оверхеда, так как позволяет проходить другим запросам между иммедиэйтов.
https://nodejs.org/en/docs/guides/dont-block-the-event-loop/
Хм, а я вообще не знал, что когда immediate создаёт immediate, между ними что-то может вклиниться.
10 лет на ноде сижу при этом.
491 2537167
>>37101
ты не вкатишься через вёрстку
492 2537169
>>37167
Почему?
493 2537171
>>37120
То есть стоит попробовать и получить опыт? А сам как вкатился?
494 2537174
А есть может кто рассказать о своем успешном опыте переката с верстарщика в фронт разрабы
495 2537175
>>37169
потому что версталой может быть даже чурка из аула, и платить ей надо будет три копейки. готов конкурировать с абдулами за нищенскую зп?
496 2537179
>>37171

>То есть стоит попробовать и получить опыт?


Не знаю, я как-то не встречал отдельных верстальщиков, были просто фронты - кто был послабее в js, получал больше вёрстки.

>А сам как вкатился?


7+ лет пилил игры на js для души, а когда наконец решил прийти в галеру на собес, там все офигели с моих знаний js и поржали с моего незнания вёрстки (игры-то на webgl чисто делал). Терь получаю под сотку, хотя все говорят, что пора бы уж просить больше.
497 2537188
>>37145

> If you are calling an API that might do something expensive, double-check the cost. Ask the developers to document it, or examine the source code yourself (and submit a PR documenting the cost).


Дивный манямир. Просто спроси у пейсбука стоимость рендера реактовского серверного компонента, лол. Или обёртки для бд/сторонней API.
498 2537193
Аноны, поясните за евент луп, а именно: что попадает в МИКРОТАСКИ и что в МАКРОТАСКИ.
500 2537220
>>37201
Теперь я, кстати, понял, почему между иммедиэйтами может вклиниться таймер.
Микротаски тоже интересная штука, и оверхед у них, судя по замерам, чуть ниже, чем у макро.
501 2537556
>>37220
Ты не понял.
reactjs1.png26 Кб, 522x343
502 2537646
Как сейчас с поиском работы для React-джуна?
503 2537939
Можно ли логику в стайлед компоненте использовать? или лучше просто вычислять допустим число пикселей и его как проп передавать?

т.е. что лучше

styled.div`
isCondition ? top: '45px' : 'top :'60px'
`
или

styled.div`
top: ${topIndent}px
`
504 2538013
>>37646
Джун это минимум год коммерческого опыта. Для таких нормально с поиском работы. А вкатыши нах не нужны
image.png3 Кб, 262x99
505 2538024
Какое время синхронной обработки запроса для ноды считается приемлемым?
Я в своём проекте выставил так:
до 5 мс - отлично
5-10 мс - хорошо
10-20 мс - так себе, но для редких операций пойдёт
больше 20 мс - надо оптимизировать
506 2538074
>>37939
Лучше как проп передавай в отдельный компонент, внутри которого он будет через инлайновые стили выставлять.
image.png3 Кб, 211x40
507 2538107
Я чего-то недопонимаю, или java script создавали больные ублюдки? Это же мало того, что миллиарды багов, так мне же теперь всегда нужно помнить, что оно сортируется вот так вот, везде печатать компаратор и каждый раз гадать, в каком случае он должен возвращать 1, а в каком -1? Или как?
508 2538146
>>38107
Для начала попробуй почитать документацию, дебич.

>The default sort order is ascending, built upon converting the elements into strings, then comparing their sequences of UTF-16 code units values.


У тебя эта проблема будет в любом языке.
509 2538156
>>38107

>везде печатать компаратор


Собственно, да.
Чтобы не держать в голове дефолтное поведение методов, почти всегда лучше задавать параметры явно.
510 2538181
>>38107
Да заебись же: что строки, что числа - всё одинаково сортируется.

А вообще, возьми себе либу с natural sort (а еще лучше напиши сам) и всегда используй.
511 2538183
>>38146

>У тебя эта проблема будет в любом языке.


Про сортировке строками - будет.
Вот только не все так делают.
512 2538194
>>38146

>У тебя эта проблема будет в любом языке.


Я до этого сишарп учил, и там оно сортируется ожидаемым образом, а не конвертит числа в строки, там вообще можешь сортировать как хочешь, хоть по возрастанию, хоть по убыванию, хоть по полю, хоть по функции - и все без единого компаратора. Намного все продуманнее (а еще есть дженерики и методы расширений).
513 2538327
>>38183

>Про сортировке строками - будет.


Отсортируй-ка массив бигинтов, флоатов и строчных представлений чисел (которые могут и бигинтами и флоатами) в одном массиве.
>>38194

>Я до этого сишарп учил, и там оно сортируется ожидаемым образом


Какой блять ожидаемый образ, если тебе прямо в документации и спеке говорится, что по дефолту значения кастятся в строку?
514 2538348
>>38194

>есть дженерики и методы расширений



В js всё - дженерик, любой метод - расширение.
515 2538379
>>38074
Не совсем понял что ты имеешь ввиду
516 2538381
>>38379
const StyledItem = styled.div``;
const Item = (props) => {
const [highlighted, steHighelighted] = useState(false);
return <StyledItem onClick={()=>{setHighlighted(true)}} style={{top: highlighted ? '0px' : '10px'}}>{props.children}</StyledItem>

}
517 2538539
>>38381
Чет говно какое-то
518 2538582
>>38539
Не говно, а стайлед компонент.
519 2538598
Эти треды вообще перекатывает кто-нибудь? Надоело скроллить вниз.
520 2538603
>>38539
Это самый оптимальный вариант. Можешь через пропсы прокидывать напрямую в твой смтайлед, но это медленно + на самом элементе в DOM появится твой проп, если ты конечно не укажешь предикат.
521 2538624
ПЕРЕКАТ >>2538621 (OP)
ПЕРЕКАТ >>2538621 (OP)
ПЕРЕКАТ >>2538621 (OP)
ПЕРЕКАТ >>2538621 (OP)
ПЕРЕКАТ >>2538621 (OP)
ПЕРЕКАТ >>2538621 (OP)
ПЕРЕКАТ >>2538621 (OP)
ПЕРЕКАТ >>2538621 (OP)
ПЕРЕКАТ >>2538621 (OP)
ПЕРЕКАТ >>2538621 (OP)
522 2538627
ПЕРЕКАТ >>2538621 (OP)
523 2538634
>>38327

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


Очень простой. Метод же называется sort(), а не sortAsString().

>>38348

>любой метод - расширение.


Я чисто про прикладную возможность определить метод, который даст возможность делать 'какая-то строка'.sendToConsole(). Очень удобно (и наглядно) всякие конвееры лепить, без необходимости писать килотонны оберток на каждую сущность.
524 2538638
>>38603
Интересно, спасибо, почему-то в доке я вообще такого варианта не видел
525 2538642
>>38603
Подожди, но так же получается если мне допустим стиль поменять надо, то мне придется прыгать от одного файла к другому так как стили в двух разных местах, такое себе же?
526 2554358
>>37646
Если тестовое делаешь хорошо, знаешь базу, от curry условно не объмякнешь, и типизацию писать умеешь, то реально найти, но лучше еще и какой-то фреймворк знать, так будет вариантов больше
Обновить тред
Двач.hk не отвечает.
Вы видите копию треда, сохраненную 8 февраля 2023 года.

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

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