Это копия, сохраненная 22 июня 2021 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Больше пары строк кода в посте или на скриншоте ведут в ад.
Для программирования на HTML https://codesandbox.io
Для Node.js с консолькой https://repl.it/languages/nodejs
Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: «что я хочу получить, что я для этого делаю, что я вместо этого получаю». Если когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
Документация - https://developer.mozilla.org
Руководство для вката - https://github.com/acilsd/wrk-fet#javascript
Рака жопы тебе.
У нас тут используют на одном проекте. Говно нетипизируемое, тулы хуевые, вебшторм ещё что то может, вскод не оче. Vuex ещё хуже
Лан, купил на udemy курс шварцмюллера по реакту буду учить еще и его.
Реакт+тс, реже ангуляр. Вью встречал только в детских поделиях, хотя сам вью третьей версии может и неплох
Пару раз видел в виде встройки в легаси-говне.
Это же писец-язык лапша...
А работа с DOM-кошмар!
В руководстве от мозиллы можно утонуть и сойти с ума...
Постоянно что то не работает,учить пхп и то приятнее и понятнее было
Тут то что я насрал https://codepen.io/reklast/pen/ZEeBjwP заодно расскажите насколько код хуевый
Если в files.create не передать калбека, то метод вернёт промис. Можно сразу асинком/авейтом обмазать.
Держу в курсе.
ебен бобен, спасибо, я видимо пока доку по апи читал в глаза долбился, вообще этого не знал.
В ноде ещё есть метод util.promisify, который умеет такое оборачивать в промис.
Есть массив table, внутри которого массивы строк. И массив rowNumbers с номерами строк, которые нужно удалить. Нажимаем кнопку, вызываем метод удаления и строки удаляются. Всё ок. Но мне нужно ещё и историю удалений вести, чтобы можно было откатить всё взад при необходимости. Для этого я ввёл переменные iterator (номер изменения) и history (массив, в который добавляется целиком вся таблица до удаления строк).
removeRow() {
this.history.push(this.table) //добавляем старую таблицу в историю
for (let index = 0; index < this.rowNumbers.length; ++index) { //перебор выделенных строк
this.table.splice(this.rowNumbers[index], 1) //удаляем построчно выделенные строки
}
this.iterator++ //увеличиваем номер итерации удалений
this.rowNumbers= [] //сбрасываем выделение со строк
},
И вот тут получилась какая-то хрень. Всё работает, но данные внутри history почему-то реактивны. Например, в таблице есть 10 строк, удаляем одну - в history пишется один элемент из девяти строк. Удаляем вторую строку - добавляется второй элемент уже из восьми строк. А первый тоже превращается в восьмистрочник. Если удалить все строки, то в истори (в истории, Карл!) будет [[],[],[],[],[],[],[],[],[],[]]. Блядь, КАК?! Я попробовал писать в history просто переменную iterator - она пишется нормально, ничего не меняется, например, после трёх удалений там [0, 1, 2].
При чем здесь реактивность? В жс все кроме примитивов копируется по ссылке, ты в хистори затолкал указатель на тот же объект который дальше изменяешь.
Но ведь iterator тоже изменяется, но... аааа, примитивов. Тьфу ты. И ведь я же специально проверил, что переменная одного типа так себя ведёт, а другого эдак. Но списал всё на происки vue, а про самое базовое забыл. Спасибо за подсказку.
В доках написано юзать типы из тулкита, а с ним мне разбираться не хочется. Вдруг обоссут на это
А в php у тебя нет работы с DOM? Уверен?
Спизди типы из других либ
https://www.typescriptlang.org/play?strict=true#code/PTAEFcBcEsBsGcBQjoDtIFMBOAzAhgMYagCCBMA9qgDwAqAmgAoCiANKIyfQDIDyJAEQB8oAN6JQk0JACeABwwAuUAxYSpcvDNgU8AE2Wce-AYgC+yWQtLloVAMJYMeSBSx0mbDlz6CRAXlAACiDNbV0Db2NBAEpQfxEyShpVLyNfYTiAMjFpeSUVT1ALRCtiJLtUWnzqEgDSUAwAD0xUPXgbZMdnV3c0HGxClnZ+wfSTEQB+TsqPYaiMkWVUDAA3bGQccFRbKlBCZLnmRpaMNo74SCw0AHN2ccF40FWKaD0hILLlVPYAfUnDD4TDFlBUHE4XG4jvcgX4xOpJFsdsl9rtUN1IVhQlodPpAdEBCCZlRoQsJvCpJTQE5IOAsKhcmV2GFcXp2BZKSVKQdKhjegA6MpPMrISk0ukMnngnpucybbZo0ByLAUOTwagPYRBOLiMUYWn0iBtDA4NAYPT7DrbADWqAoAHdJR1NXLECBUckkIgCFRLqA0AQnABbM6QJ5S1BBADkAeDoajMW9vrD8H19go2zDgQj0dTkHTmajzJVauoomeeFg4AKqHAQYARoMzB8YonSvlQAX0NgwagOoFe9UFNQyhQcP6dnH0KAAD55BRj0B5ruQITId14ORyZBoTC4QjEFfYADKkBcxF1Uh9meWdcbWFdSMV1+7WMu5+UR6wp-P7Ajn4zV9e3gIkvx-TAKSkeB7WgSACAAC2CCNBXyHUESpAg8FTCdAwwEN0BQhRFHQqkpGQlkIlAd0XjeUVSKpcVDUvej6JfSBlHfTB+TY0AAGpQAARhI+iuVYrDiGXQDIEIpRhNI8icUo91y1WStq1vBsmzoljJEYhlmJ0yk2I4s8uJ4-iFPCfR+VUqsMDkqlRNIvQTTwcBYHYhzuUVd0VnWB8vKkPSl1M+zOXMIA
Спасибо
Редуктор
Он ещё и типами всё обмазал заместо интерфейсов, так что у него будут простыни в подсказах в случае ошибок.
>так что у него будут простыни в подсказах в случае ошибок.
Разворачивать интерфейсы тоже скоро обещают, держу в курсе.
А, ну патчами допилят, совсем другое дело.
Не благодари.
https://www.typescriptlang.org/play?&strict=true#code/CYUwxgNghgTiAEA7KBbEBnADlMCBCEA9gOYDKEAlrvAN4BQd88FiALiDAGY4ICCYrCoUS1GTeKwCemEAC546VjBbExTbJKJRgAfnlREksQF8GTZGiw94eQoQDWKWPfSjx8EAA9MhGK2ZsHNzUvMDAHp7siMCu-ILCbu4S0nLwAES8ACKZAPp4APL5ANIAsrwASkVpavCmNV4+fgHsXNaZIBAg7BFRMfBxQiL0Scky8mmZAKIAMpMAKpN5haUVVTV17g2+-iwtwQjThNqHYFAQPSDRsQKDie5SY+nT+VlLxWWVpDkAYuX5JTlngBhXjTHKkOb5cq8ADik2q7lMTA2SFQGGwIT8VE6dwijR2gVa1BKhFAFyu-RuCWGSQeqQy5TmAEkgbMciV8lMEeIkbUzKjLBiEKQQLAwAALXFbJq7ILWElkry9a7xIY1Jh08akSYVIEACXZnPh6xM-Is6OsAFV0Bwpd5ts05dRDsQWOS+gNqerRvTnjCmQA5bnI+r2mWE-bwF2EACu-iVlw9VLVI01T3yMPylrmwb5IbE5qsIUwmFIrCg3RpTGlBL21l4WMgIAVCATFIbgibADoW7RedWw7WncLRTAJb2230RWLxT3SQgaP28Q7ZUSEJNgBRWL4J5FEyrblXxGm0pNMkzIeVDVyTZtB461-BSGAYIQIBAAAqEdBb26Tg9eqmKRavM4JAn80xgh++SkLmvKmKYQA
Страшно представить подсказки каких-нибудь моделей БД в таком случае.
>Второе
Почему? Есть какие-то статьи об этом?
>только
Hyphen - одно нажатие на клавиатуре, underscore - два. А вебпак один хуй и то и другое в camelCase превращает.
БЭМоподобный подход, где файл стилей подразумевается как блок, а все первоуровневые объявления в нём - элементы, у которых разве что только модификаторы должны быть.
в твоём случае `.navigation` не нужен и просто называй `.item` и `.list`, а импортированный модуль можно писать как `import NavigationStyles from "path"`. Модификаторы скорее всего придётся через композитные ключи вызывать, но так даже лучше, сразу будет видно где обьявляешь элемент, а где модификатор.
>>36491
В проде вебпак вообще их в хэши превращает, так что твои нажатия на клавиатуре в сырцах смешны.
Потому что он позволяет писать наборы стилей различной сложности не превышая специфичность `0.0.1.0`. Хотя конечно совсем без повышения специфичности сложно, иногда проще повесить модификатор на блок и менять поведения элементов в зависимости от него, чем лепить по новому модификатору на каждый элемент.
>БЭМоподобный подход, где файл стилей подразумевается как блок, а все первоуровневые объявления в нём - элементы
Хотя стили для блока всё равно придётся обьявлять в файле. Можно просто напохуй обьявлять `.block {}` самым первым правилом и его вешать на корневой элемент компонента.
Ну, если тебе насрать на человека, который потом твою обфускацию будет читать, то, конечно, не причем.
Расскажи мне как черточка посередине строки обфускирует код сильнее, чем черточка внизу строки.
Нет, в том и проблема, что я не помею как это называется.
Вот например у тебя есть какой-то реакт компонент, ты передаешь туда пропс вида isHuita={false/true} и внутри у тебя в зависимости от этого клик по кнопке например выполняет одну функцию или другую. Суть в том, что проверка такого пропса через иф или тернарный оператор будет производиться всегда, а я помню, даже в каком-то из тредов приводилась в пример конструкцию, когда сначала функция проверяла условие, а потом вроде бы перезаписывала саму себя так, что при клике вызывалась только одна функция, без каких-то условных проверок. Это может быть нужно в том случае, когда у тебя изначальный пропс может меняться, но он не динамический, и смысла компоненту перепроверять это условие каждый раз нет никакого. И я не помню совершенно как эта конструкция выглядела, как называется и как она вообще работала
Одно - велосипед, который ты только что выдумал и не факт, что будешь следовать по всей кодовой базе, а другое - методика с заданными правилами.
Чел... Я бы и юзколлбек мог использовать, и юзмемо. Проблема всего этого в том, что все эти хуки не являются синтаксическическими конструкциями, т.е. они "могут" помочь тебе в оптимизации, но на них нельзя полагаться как на обязательные к исполнению
Яндекс
Это называется замыкание.
```
let moduleVariable;
export method1 = func1(initModule(moduleVariable));
export method2 = func2(initModule(moduleVariable));
function func1(initModule) {
initModule();
return () => {}
}
function func2(initModule) {
initModule();
return () => {}
}
function initModule(moduleVariable) {
moduleVariable = checkPredicates(moduleVariable)
}
```
>Это называется замыкание.
Хуекание. Нет, это тоже не то, блядь, когда не нужно, то попадалось на глаза, а как стало нужно я даже названия этого не помню.
Такие уебаны больше всего бесят. Пиздец, иди листай архивач в поисках ответа, клован.
>Одно - велосипед, который ты только что выдумал
Охуеть, я придумал kebab casing, какой я олд
>не факт, что будешь следовать по всей кодовой базе
Факт, у меня стоит stylelint и не дает ничего использовать кроме camelCasing.
Хуле вы вообще до этого доебались, когда вопрос про другое.
> Хуле вы вообще до этого доебались, когда вопрос про другое.
Всё правильно доебались, каскады - говно, пиши классы.
> Факт, у меня стоит stylelint и не дает ничего использовать кроме camelCasing.
Тебе твой мидл запрещает линтер шатать?
Ну я такую хуйню придумал, анон
>>36733
> каскады - говно, пиши классы
Так об этом речь, а не стилях имен. А почему? Вот с одной стороны да, 0 ебли со специфичностью будет. А с другой такие классы на каждом элементе\компоненте означают, что при добавлении\удалении новых стилей, которые требуют новых классов, придется дрочить как ксс так и жс, а значит кэширование жса проебется, это тоже не оч.
>Охуеть, я придумал kebab casing, какой я олд
Во-вторых никакие кейсинги не нужны в файлах стилей. Они разве что встречаются в свойствах svg, которые можно менять стилями.
>Факт, у меня стоит stylelint и не дает ничего использовать кроме camelCasing.
Получается конструкциями, типа `.navigation { &-List {} }`, ты пытаешься наебать линтер.
>Хуле вы вообще до этого доебались, когда вопрос про другое.
Так ты про код стайл спрашивал, тебе и ответили. В целом зависит от проекта, а из всех код стайлов только БЭМ является методикой.
>придется дрочить как ксс так и жс
Тебе для динамики в любом случае придётся дрочить жс. А css будеть "дрочиться" только если ты этим же жсом будешь создавать файлы стилей, заставляя движок всё парсить.
>никакие кейсинги не нужны в файлах стилей
А как ты называешь классы, которые состоят из двух слов?
>Получается конструкциями, типа `.navigation { &-List {} }`, ты пытаешься наебать линтер
Получается, я написал пример, не запуская код, только для иллюстрации вопроса, и в тот конкретный момент мне захотелось написать кебабом. А ты доебался без причины вообще и не по теме вопроса.
>Так ты про код стайл спрашивал
Да нихуя, код стайл это отступы\кейсинги\апострофы, а меня интересует кэширование и другие вещи, на которые влияют классы на каждый элемент vs комплексный дроч.
>а меня интересует кэширование и другие вещи, на которые влияют классы на каждый элемент vs комплексный дроч.
Что ты там кэшировать в файлах стилей собрался, наркоман? `class` - всего-лишь строка (как и любой другой хтмл тэг тащемта), значение которой парсится движком и сравнивается со списком стилей, не более. Плюс всё это делается на вторичном потоке, так что никакой самописный костыль на жс не будет парсить быстрей браузерной реализации.
Это по-плебейски, патриции добавляют `[class~="class"]` для перезаписи.
Давай критерии серьёзности языка, иначе зеленый.
Есть либа typesafe-actions. Вроде норм тема, но без бутылочки не разберёшься
Да, но после появления css modules бэм стал не нужен.
Аноны, могли бы подсказать, как можно расширение автоматически запускать при открытии vscode?
Недавно перешел с сублимки на вскод, пока доволен. Но чет не кошерно каждый раз лезть и писать говно чтобы лайврелоад запустился. Можно как-то автоматизировать чтобы оно само писалось? Если да, то куда копать?
В настройках такой штуки нету.
Давно уже
Упитанно
Написать парсер адреса/тела запроса.
http.createServer
if (req.method === 'post')
req.on('data', (x) => data += x)
req.on('end', () => {console.log(data); res.write(); res.end();})
......
PROFIT!!!
>Тебе для этого плагин вебпака нужен
Так он уже стоит, к чему ты это вообще блять?
>Нахуй ты хэши в дев конфиге пихаешь?
Ты ебанутый? Ты хоть раз вебпак конфиг видел? Тернарный оператор знаешь?
build tasks?
спасибо
>Ты хоть раз вебпак конфиг видел?
Ты определённо не видел, так как уже используется `[contenthash]`.
>Тернарный оператор знаешь?
Главное что ты не знаешь `webpack-merge` и хуяришь тернарники на каждый пук.
И конечно проиграл, что ты там что-то бурчишь про перезагрузку бандла и при этом хуяришь `style-loаder` в деве.
>Главное что ты не знаешь `webpack-merge`
Щас бы 20 новык пакетов и зависимостей установить, чтобы заменить оператор. Для чисел и строк тоже пакеты ставишь, чтобы литералы не писать?
>`style-loаder` в деве
Да, я хуярю в деве style-loader, потому что кэширование файлов нужно только в проде. Пиздец, какой же ты тупой.
>Щас бы 20 новык пакетов и зависимостей установить, чтобы заменить оператор.
Сейчас бы плакаться о пакетах, когда голый вебпак требует 300+ штук их.
>Для чисел и строк тоже пакеты ставишь, чтобы литералы не писать?
Учитывая, что `webpack-merge` используется под капотом аргумента `--merge`, то ты сильно обосрался.
Тернарники тебе мердж не заменят, хотя для тудулиста и так сойдёт.
>Да, я хуярю в деве style-loader, потому что кэширование файлов нужно только в проде.
Долбоёб, стайллоадер прогоняет стили через весь бандл, плюс он их инлайнит, что может вызвать проблемы со специфичностью, учитывая, что в проде ты стили в отдельный файл пихаешь.
Нахуй ты вообще в вебпак лезешь? Ставь бутстрап и жиквери и хуярь свой говнокод.
>Долбоёб, стайллоадер прогоняет стили через весь бандл
А через очко твоей мамаши он их не прогоняет? Какое мне вообще дело, что он делает в ДЕВЕ блять?
>что может вызвать проблемы со специфичностью
Нет, не может. В проде miniextract хэширует все имена классов. Ты реально ебанутый.
Когда лучше начать изучать Typescript: до Реакта или вместе с ним/после?
Прямо сейчас
Это ты к чему высрал? В рантайме у тебя тот же самый динамический жс. Так нахера пердолиться с этим твоим тс?
В браузере.
Гуглишь интересующий тебя рантайм (например V8), дальше гуглишь сорцы прослойки, обеспечивающий платформонезависимую обработку событий, потом гуглишь, как менеджатся события в каждой из интересующих осей, затем переходишь к железу и изучаешь, как т.н. "события" инициируются на физическом уровне.
Или можешь собрать вершки здесь: https://en.wikipedia.org/wiki/Interrupt
В js уже не вкатишься. Слишком большая конкуренция, надо было выбирать жаву или другой яп. Только время зря тратишь
А какая разница? На вакансию будет 200 кандидатов, до собеса доведут десяток. Не факт что вкатун с двача там окажется с большей вероятностью чем твой пик.
Ты напрямую с рантаймом что ли работаешь, дебич? В исходниках у меня тайпскрипт, как у всех нормальных людей, а у тебя, дриснявого, в исходниках коричневая жижа.
> В исходниках у меня тайпскрипт, как у всех нормальных людей, а у тебя, дриснявого, в исходниках коричневая жижа
На мне Ролекс, у тебя - часы песочные.
Почему хуета? Зачем ты учишь то что тебе не нравится? Ты что долбоеб? Не нравится не учи, учи то что нравится.
Непонимаю этих мазогистов которые борятся против своей быдло природы.
Обе хороши, мобх только легче в написании
Тебе для чего? В общем случае ответ таков - траверсишь AST и шатаешь выхлоп как левая пятка собаки твоей мамы пожелает.
Двачую, никогда не учил ничего потому, что ничего не нравится. Бомжую, скоро убью себя, охуенно!
Надо следовать за рыночком и выбирать то, что выбирает большинство. Тут тебе не клуб илитариев, полезли в залупу со своей "нитакойкаквсейностью", а потом шаг влева, шаг вправо и памахити, как это говно заставить работать, где документация, последний багрепорт висит с 2017 года без единого ответа.
>>35774
МДН это не учебник, даже как документация очень всратая и перегруженная, но зато максимально широко описанная
Читай фленегана лучше, там всё по человечески для изучения написано. Это именно что учебник. У кантора тоже слишком перегружено, там если с нуля учить пока разберешься, сопьёшься в канаве нахуй
Вуй-то удобный? За одни только строчные референсы надо убивать.
https://blog.stackblitz.com/posts/introducing-webcontainers/
Нода теперь работает в браузере, можно писать код в отдельной вкладке. IDE больше не нужны, все будут делать сервера гугла.
Ах, да, я прожжёный бекенд джава сеньёр-помидор.
Рекомендую вам поучиться вежливости.
Сэндбокс второго компонента - https://codesandbox.io/s/huli-ne-rabotaet-t2rhj
Ну так и перезагружай, делов то
ну а как по твоему другой компонент узнает что надо обновиться? Можно попробовать использовать контекст
на каждый уникальный id блока?
> Официальные доки норм?
Нет, нужно покупать курсы на степике, чтобы какой-то додик очень медленно читал тебе их старые версии.
onclickCreator
а че, звучит выгодно, вон толька ерохин на скиллжидбоксе купил курсы за 170 000 в кредит, за то уже веб программер, как его, машину вон уже себе купил (лада веста), растет пацан!
То есть чтобы была какая-то функция, которую можно было бы вызвать в любом компоненте и чтобы она генерировала тост внутри тост-контейнера. В документации реакт-бса какая-то дичь, что нужно вставлять тосты внутрь html вручную.
А сколько сейчас кс:го ждуны поднимают? Опыт cs source учитывают? Surf карты востребаваны?
>сколько сейчас кс:го ждуны поднимают?
Речь идет о пятизначных числах.
>Опыт cs source учитывают?
Будет плюсом если знаком со старым движком и его особенностями.
>Surf карты востребаваны?
Только в тех, где доната не было.
Еще необходимо базовое понимание в ZM картах, в картах, где прокачка WC3 скилов, ну и хорошее понимание теории в AWP картах.
Вёрстка тяжело даётся только самым тупым.
>метод textContent(как и innerText) не подходит?
Все верно, коллега. Даже подсвечивается явная ошибка.
Корни ошибки уходят далеко за пределами ES6, можешь почитать про это тут.
https://ru.wikipedia.org/wiki/Битовый_сдвиг
Коротко объясню, что ошибка на уровне железа. Можешь попробовать использовать конструктор функций, чтобы повесить обработчик клика на див.
Что за хуйню ты написал? У тебя h3 и object не определены внутри <script>. Индентацию распидорасил, в чем ты блять пишешь, в блокноте? Ну и, до кучи, элемент p надо к документу присоединить, чтобы он отображался. Все хуйня в общем, давай по новой.
Не удивлен вообще, но делать так все равно не надо. Приучится щас хуярить говно, а потом разгребай за таким джуном.
Webstorm
не используй гетЭлемент, вместо этого квериСелектор
знак ';' можно не ставить, это маразм дедов.
стили в js коде тоже лучше бы не менять, используй классЛист
делай переменные с айдишниками перед кликом, без объявлений хуйня получается.
Ну и перед тем, как говнокод писать, лучше бы леарн жс почитал, там неплохо объясняют. И примеры кода бы заготовил.
>стили в js коде тоже лучше бы не менять
стили вообще не применяются?
может я хочу эффект к-л,когда скрипт что то вычислит,например ВЫ ВЫИГРАЛИ и такая анимация
Если ты такую хуйню творишь, то понятно, что ты только учишься. Но вообще на будущее модные ребята делают соответствующие классы, а жсом эти классы только меняют типа classList.add('block--win')
Подскажите какой-нибудь хороший, годный материал по промисам, чтобы там было по больше задач по теме. Практических пособий с гулькин хуй, у Кантора 3,5 задачи на промисы, и то самые простые. Чувствую, что нихуя не понял все равно.
ГетЭлемент устаревший вариант. Разницы нету на самом деле, кроме написания. Квериселектор более удобный.
>>38667
Ты из тех, кто не понимает специализацию функций и игнорирует семантику? Когда тебе надо заменить пробелы в строке ты ее сплитишь, а потом джойнишь? Если нет, то зачем, когда тебе надо получить элемент по id, ты используешь запрос по селектору, вместо того, чтобы запросить элемент по этому самому id?
1. Забрать с гитхаба проекты для двух организаций: octocat и octocat_hui.
2. Написать в сосноль объединённый список.
найди любую апи и сделай с ней че нибудь
То как ты об этом думаешь наверное справедливо, но есть же варианты с defer/async плюс скрипт может подписываться на DOMContentLoaded или использовать MutationObserver
Нахуя те промисы шиз? Пишешь асинк, далее эвейтишь че те нужно
Промисы это прошлый век уровня адских колбеков только в ряд
Так он берет только первый попавшийся элемент и потом остановка
Нативный не тащит за собой гигабайтные бандлы и не грузится по минуте. Не все ж сайты Pwa делать.
Чтоб если дадут на собесе какую-нибудь задачу с промисом, циклом форич и макротасками внутри, то не обосраться и чтоб все правильно выполнилось в верном порядке.
Всякие задачи бывают. Да и многие реактодебилы не знают даже простейших вещей из нативного жс. Таких кстати на собесах быстро вычисляют и посылают нахуй.
ну так тебе не сами промисы нужны, а нужно знать что выполняется основной поток кода, потом микро таски, потом макротаски.
Маняфантазии. Я учил сначала жс, после реакт, после двух лет на реакте, слабо помню чистый жс. Если увижу в коде - то прочитаю его, понимаю че написано, но по факту не использую в работе.
Если че то нужно сложное на ваниле написать - полезу в мдн посмотрю.
На собесах если видят что ты разбираешься то тебе вопросов особо не задают, главное решать бизнес задачи, а не теорию с доки задрачивать.
Да это обычная форма мышления хипстера -- все, чему больше 5 минут от роду, и что можно сделать более другой, новой и молодежной тулзой, объявляется устаревшим говном с фатальными недостатками.
Пруфай.
Поссал на императивного шизика.
Зависит от флаттера
Ты видимо не в курсе как сейчас в массе своей на рынок лезут. Жс почти не учат. Проходят какой-нибудь говнокурсец в попыхах и сразу на реакт. А потом валятся а какой-нибудь хуйне вроде копирования свойств объекта и непонимания как работают замыкания.
parent.appendChild(node)
parent.insertBefore(node, nextSibling)
parent.removeChild(node)
parent.replaceChild(newElem, node)
>потом валятся а какой-нибудь хуйне вроде копирования свойств объекта
Такс, ну я помню ток
object.assign (shallow copy) ()
ручками написать (shallow/deep copy)
JSON.stringify(shallow copy но не копернет функции и уникальные значениея типо symbol)
заmapить объект и вернуть ключи в новом объекте
я что то упустил?
Мы вам перезвоним
На mdn не устаревшие, значит можно пользоваться.
https://www.typescriptlang.org/play?#code/JYWwDg9gTgLgBAJQKYEMDG8BmUIjgcilQ3wG4BYAKCoBMk0AbFIuTAVwDsNgIO40AjHAAUYHGADOALjgBvRigkSAcihBIZEmFGAcA5gF8AlDIBuEYDQqU6Cluy4wefNACYRYiJJnymS1eqa2rp6ADRwIBJ6QTr6xmYWVlRUujBIUJjoSPy8MCi66QAK4hJyVHA54LxIHDAywszRcgr+ahpwWrFh-AAWwAw0RBwyKBwAnsZwALwAfHCjY6Hlvf2DNQD8I+NLlBUA2hAwPUUlMSEAultjVAZUDty8cADCufkc6cLyuJDvtTJP4TQfQGQ3CADoIZ5JAYZGhXgUoMUvBIjGVdnAiDA2FA+AAeJ78PwqNpTfAAD3wcghYKhEgMM3kwLWHAMuIA9E8ZjdkpR8fD3lBKj8ajApvIBAY2TNrHzam90kLqrUxW5JdKqLK8gjFb9RfJXAYIlFSfgpaQgA
>>39103
Устаревший - это объявленные спецификацией DEPRECATED.
DEPRECATED так и переводится - устарел.
Никто не объявлял эти методы устаревшими и не собираются. Это просто более ранний уровень спецификации DOM. С тем же успехом ты можешь сказать что объект document устаревший, или интерфейс Node, потому что они такие же старые,как и эти методы.
Лернжс, как и все остальные маняучебники и статейки от мимокроков не могут объявить что-либо устаревшим.
https://codepen.io/reklast/pen/ZEeBjwP
Пиздос намешано.
Выбери какой-то один стиль или прекрасный декларативный then/catch или этот уебищный async/await.
https://www.typescriptlang.org/play?#code/JYWwDg9gTgLgBAJQKYEMDG8BmUIjgcilQ3wG4BYAKCoBMk0AbFIuTAVwDsNgIO40AjHAAUYHGADOALjgBvRigkSAcihBIZEmFGAcA5gF8AlDIBuEYDQqU6Cluy4wefNACYRYiJJnymS1eqa2rp6ADRwIBJ6APxBOvrGZhZWVHBp6RmZWdk5uWkA9PlpAHoAtOUVlVWVABZIRFRUujD1mOhI-LwwKLr1AAriEnKpneC8SBwwMsLMej4K-moacFrxYfw1wAw0RBwyKBwAnsZwALwAfHAHh6EjaJvbu7FXR7eUaQDaEDB1UANe0hWwX0AF19kcqAYqA5uLw4ABhLo9Dj1YTyXCQFGTGTw8L3LY7CbhAB0pM8kgMMjQSN6f0GRmG7zgRBgbCgfAAPPD+H4VEtTvgAB74OSk4nkiQGc7yB6EjgGDn5eHnSGNShcmkoqCjTETGCneQCAz5c7WDWTZH1HXjSYGtzG01Uc3dWnWrH6+SuAwRKICkUtLQCmBafAm0hAA
>декларативный then/catch или этот уебищный async/await
Что там декларативного в then/catch, наркоман?
Подекларировал тебе за щеку, лови.
Ебать, один вопросительный знак забрал у меня час жизни. Спасибо. А что, если проп обязательный в дочернем компоненте?
do {
//test
} while (tmp !== 1 || tmp !== 2 || tmp !== 3)
Почему это не работает? Рабтает только если одно сравнение.
npm install jquery-boolean-algebra
Учи циклы чтобы не быть баттхёртом. Твоя конструкция сперва исполняет код один раз, и только потом продолжает его в зависимости от условий.
> Ебать, один вопросительный знак забрал у меня час жизни. Спасибо. А что, если проп обязательный в дочернем компоненте?
А вот тут уже не еду, но смею предположить, что его следует указать в обоих типах
https://www.typescriptlang.org/play?#code/JYWwDg9gTgLgBAJQKYEMDG8BmUIjgcilQ3wG4BYAKCoBMk0AbFIuTAVwDsNgIO40AjAAowOMAGcAXHADe-JuPEA5FCCTTxMKMA4BzOAF8AlNIBSAZQAaAOgCiDJGo4wKlOo2ZJWnbr34AmETEpWXkURRU1DS0dXQAaOBBxXWjtPUMTOAsbe0ckZ1cqGABPMC8AYV4YFB0kKAAFYIAeeoQAeXrzAD44AF44NpBgGBb2zoT8DwjVJHwegDJZKjh+XEgOfJhpIIgJaVaO8yM+nuy7BycYZf4AC2AGGiIOAH5pZHQYa3eMcruHp6oBioVHYXBgPD4lWcNQ2UFGhy6QjkaDWvE20nKCTQf0e+QS1gJRE0jV24kMGKqMLqJIk8M6XWOMmuKI4mjgolJfVCBOsRJgNPEWIUyhm0nwAA98IY4OE4JwANYcCAAdz4soOnTgAHotXBADwgBoSgCEQQAcIIB+EBNgHYQQAMIIAxEBNgHkQa5EGBsKB8JrlWQ8jkSAxdGTY+64jgGJpa8pdQHAyieym1KCrcBo5y9QMCAzarquHVwAACMHEAFokOKyhgS1AcImi4lknBgGShopYlQ49CE0n1ps02h-Jmtdm21Dqp2UcmNqnA-267pevgpYPSEA
Знаю основы js, css, html, граф. редакторы, работал с npm, REST, могу в фетч со стороны клиента. Из spa-шных штуковин щупал немного вью и реакт.
Алсо, не имею в виду, что ИМЕННО СЕЙЧАС перескакивать собрался. Хочу подучить эту тему. Но не уверен, что успею так быстро.
Ковыряю для себя простенькие вещи на фронте - интереснее для меня, как оказалось.
Редакторы: фотошоп и фигма. С первым работал за деньги когда-то.
Коммерческий - полгода + до этого пет-проекты.
Но в этой странице есть допустим кнопки,при нажатии которых загружался другой файл.Но 50% страницы аккаунта не менялась,типа фрейма по старому.
Куда гуглить?
>Но 50% страницы аккаунта не менялась
Чего
>допустим кнопки,при нажатии которых загружался другой файл
AJAX?
>>Но 50% страницы аккаунта не менялась
Чего?
Ну смотри,панель навигации,данные юззера в верхней панели и др не менялись,а вот центральное поле менялось по нажатию на кнопки
Ты этого не достоин.
Нихуя не понял.
Тебе нужно исполнить другой файл после того, как загрузилась страница?
Ну так AJAX'ом подхватывай данные с бд по клику на кнопку. И заменяй определенные элементы на странице. Хули нет?
Ну так не меняй их скриптом.
https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model
Ну или тебе вовсе не нужен ажакс, хуй пойми.
Хотя вряд ли у тебя получится)
Тебе нужно просто изменить данные на странице? Чому просто DOM не изменить? Если нужно подгрузить данные с БД, то используй AJAX.
тас не бд,а отдельная страница-приложение,чтобы не переходить,загрузить ее внутрь посредине,а остальные управляющие элементы и информацию оставить сбоку и сверху
<iframe title="Wikipedia page for Avocados" src="https://en.wikipedia.org/wiki/Avocado"></iframe>
Это искал?
Дак на пыхе этим обычно не заморачиваются, просто хуярят шаблон с лейаутом.
На фронте обычно делают SPA на всяких реактах, но оно тебе скорее всего не особо нужно.
zustand
Любишь двигать иконки@играться со шрифтами?
При случае плюнь Кантору в руки.
Да нормальный код. Только убери then у каждого асинка, res у тебя будет нормальным.
Ещё из косяков: твои функции не возвращают промисов. Это значит, что нода их стартанет, но результата ждать не будет, если повезет, то пап очки создадутся или нет. Вместо цикла возьми [1,2,3].map, потом просто из функции вернёшь Promise.all, тогда все взлетит.
В ангуляр-проекте вижу что есть набор директорий где располагается несколько ts-файлов, один из которых это index.ts, так вот в этом index.ts всегда написано типо вот этого:
export from './header.module';
export from './header.component';
И больше ничего. В чем смысл? Зачем производить этот экспорт если он уже был объявлен в соответствующих файлах? Да и в чем смысл этого index.ts?
Теперь эту папку можно импортить
> Анусы, поясните за технологию. Использует кто?
skypack + snowpack - будущее?
https://hackernoon.com/front-end-development-without-node_modules-using-skypack-and-snowpack-s03n33mk
Но зачем? Не лезть, оно тебя сожрёт. Бек намного более ламповый.
Блять, а я думал, что таких уебанов не существует. Не понимаю, что движет такими великовозрастными долбоебами вроде тебя, которые готовы даже потерять в деньгах ради того, чтобы стать еще одним фронтенд-шимпанзе.
4 года во фронте, мечтаю перекатиться в бэкенд, ибо заебало наворачивать хипстаговно с лопаты
На какой стек катишься? После тс/жабоскрипта чет все выглядит унылым. Только элик глаз радует.
Нигде, пили свой нескучный сервер и постепенно к нему подключай БД, вротэнд, микросервисы, файл-сервер и прочую хуитку.
Такой же жаваскрипт с миллионами пакетов. Никто тебя не заставляет писать нативные модули.
Сказал вкатун на ноду. В тот же ссаный экспресс нужно отдельный пакет ставить для обработки файлов с формочек. Отдельно ставить парсер тел запросов (хотя в версиях посвежее он наконец-то включен в сам эксспресс). Отдельно пилить свою реализацию аутентификации. Даже сраный форум нужно будет пилить с нуля, особенно если фронт на рякте.
А, ты из этих.
У меня экспресс принимает и отдаёт файлики в огороженной сети. Скажи, нахуя мне обработчик формочек? А авторизация? Чтобы память занимать, жрать время на деплое?
В отличие от этого вашего ебучего спринга, я сам выбираю модули, которые мне нужны, а не те, которые индус засунул в бандл.
>я сам выбираю модули, которые мне нужны, а не те, которые индус засунул в бандл
Бля, ты это зря сказал.
Ну значит жава тоже низкоуровневое говно и много писанины руками.
res.writeHead(200);
res.end("My first server!");
};
const server = http.createServer(requestListener);
server.listen(port, host, () => {
console.log(`Server is running on http://${host}:${port}`);
});
Какая разница между 1 и 2 функцией?
1 отвечает за отправку на фронт,а второй живет в консоли?
>У меня экспресс принимает и отдаёт файлики в огороженной сети. Скажи, нахуя мне обработчик формочек? А авторизация? Чтобы память занимать, жрать время на деплое?
Нихуёво ты обосрался. Ясен хуй для туду-листа в локалхосте ничего не нужно, вот только это не считается за поднятие сервера на ноде.
>В отличие от этого вашего ебучего спринга, я сам выбираю модули, которые мне нужны, а не те, которые индус засунул в бандл.
Ну нихуя себе, ты эти индусские модули аж сам ставишь, это всё полностью меняет!
Вторая запускает бесконечный процесс ноды и вешает слушателя на сетевой порт. Как только появляется запросец, то сервер в евентлуп кладёт первую функцию и передаёт ей аргументы с этим запросом.
...скорее характерный стиль уставшего жсера. Я если заебаный - начинаю всегда лапшу инлайновую писать, замечал многократно.
>Мы используем файлы cookie, чтобы улучшить Ваше взаимодействие с сайтом.
>Я согласен.
>Узнать больше.
>Политика Cookie
>Файлы cookie могут быть удалены Вами в любое время и не будут собирать какую-либо информацию, если Вы не используете наш веб-сайт.
Чё это за хуйня на каждом сайте вылазит? Заебали уже эти окна на пол экрана, если я захожу читать статью какую-то из гугла, то я захожу статью читать, а не ебические окна по всему экрану закрывать, блядь. Срут куками мне в броузер, и всякую хуйню пишут ещё, исподтишка. Чё это за мода такая, уёбищная, мм?
Почитай про вебсокеты в плюсах.
Тогда и правда, хуйня какая-то. И я только сейчас заметил, что там присваивания-то нет (перед type). Получается, тупо if тернарником заменили. Это ж надо таким быть уродом...
мимобэк
Ты же и про простые сокеты ничего не знаешь.
А зачем сравнивать? В чём цель?
Тебе нельзя.
if(№2041313.classList.contains("brain") == true){
hui.style.width = "16sm"
}
else{pizda.style.backgroundColor = "white"}
console.log(№2041313.classList.contains("brain")) // false
Хочу со всех страниц выгрузить, допустим, заголовки и ссылки на изображения. Как сделать это с 1 страницы - понятно. Как легко сделать это для кучи ссылок? При переходе на следующую ссылку с помощью window.location.href, скрипт ожидаемо перестает работать, теряются все переменные. Как сохранять информацию тоже не проблема, вопрос только в том как загружать страницы без сброса переменных. IFrame или что, а как?
код-макака
А чем? Попробовал библиотеки на python, это говно вообще не возвращает результаты.
Как в хуках использовать мой класс-сервис который работает с апи? Хочу использовать методы оттуда
В последний раз когда пробывал созать экземпляр класса, мой компонент его не видел
Или может мне просто сделать вместо класса функцию через function
все не надо,я понял где лоханулся
Дом == вебапи, а дом это часть их? Или нет?
Опять на связь выходишь? Тебе же говорили, что ебаные маразматические ";" нинада.
И блять, не давай айдишник название, которое занято самим языком, я еще в первый раз чуть ебу не дал с твоим неймингом.
И блять, хоть тут и не видно, но ты опять не объявил переменную "object" перед выполнением аддевентлистнер?!
Можешь расписать? Бом и веб-апи это одно и тоже?
Ну дом это один из веб-апи. Это везде написано.
Но бом и веб апи в одних и тех же источниках не видел чтобы употреблялось.
Короче вместо того чтобы ответить ты решил повыебываться, а мне пришлось сидеть гуглить полчаса. Спасибо, уебок. Причем нашел я это не в каком то учебнике/доке, а в статье на медиуме от ноунейма.
>The term Web APIs is a very generic term used in a lot of different instances. For this blog post I want to talk about Web APIs in the context of the browser. Basically, Web APIs are the APIs made available to us, front-end developers, by the browser. They are also referred to as BOM (Browser Object Model) APIs. For example, the DOM API is a BOM API, more specifically, it is a subset of the BOM APIs. Another example would be the Event interface or the Element interface, which both are part of the DOM API and consequently are also part of the BOM APIs.
Я думал, что из-за того что во фронте больше вкатышей этот тред менее токсичный, но на деле - наоборот.
buttons.addEventListener('click',add_number);
function add_number() {
buttons.style.backgroundColor='red';
};
хотел повесить обработчик на все дочерние блоки блока field 0-9
Работает только 1й блок.Почему?
Можешь вообще на родителя повесить и смотреть че там в таргете ивента прилитело. 100500 листенеров не нужны.
>>41656
let button = document.querySelector('.thread__post')
console.info(button) // Один элемент
button.addEventListener('click', add_number) // Вешаешь функцию только на один элемент.
function add_number() {
button1.style.backgroundColor = 'red'
};
let buttons = document.querySelectorAll('.thread__post')
console.info(buttons) // Список
buttons.forEach(oneHui => someFunc(oneHui)) // forEach - используется для списков // Функция принимает oneHui, как один элемент из списка.
function someFunc(e) { // Функция принимает аргумент "e". Вызываем функцию мы выше.
e.addEventListener("click", e => {
e.target.style.backgroundColor='red'
console.warn(e.target) // Кликнутый элемент.
})
}
Хуй знает зачем я это расписывал, перекапчевал что-то.
заебал иди и учи https://learn.javascript.ru/
это самые основы основ
Короче я посидел поковырял эту хуюмболу и нагородил вот такой огород, зато работает. Подскажите, как можно это упростить?
Расскажи че тут просиходит?
Загружаем все посты из БД, потом регистрируем роут, при запросе ищем подходящий пост из загруженных, и если он есть то рендерим все посты. Все так?
Память вышла из чата
Ты вообще полную херню делаешь. По поводу того как вставить переменную в рут, попробуй бля строки склеивать.
>Подскажите, как можно это упростить?
Регаешь рут /posts/:title, внутри коллбека ищешь в бд пост с тайтлом из запроса, если есть то рендеришь, если нет то показываешь 404 или что захочешь
Ого, гуглить пришлось! Кошмар какой. Это шоб в программирование вкатиться и гуглить? Вообще пиздец, да. Согласен.
Ты, как и все жсеры, наверняка не знаешь, что такое ФП и используешь данное слово не по назначению, так что вопрос бессмысленный и требует уточнения. Сначала явно определи, что именно за каша у тебя в голове скрывается под этими двумя буквами, тогда можно будет отвечать.
Я кстати не уверен, что верно нагуглил. Потому что
Потому что на learnjavascript dom это не подмножество bom, а это части одного множества.
И то, что ты только язвишь наводит меня на мысль, что ты сам не знаешь ответ на мой простой вопрос.
>Я кстати не уверен, что верно нагуглил. Потому что цитата выше была из статьи какого-то нонейма. А я уже успел увидеть много людей, пишущих блоги по js, но совсем в этом не разбирающихся.
Кто пробовал, в чём пруфит? Быстра.
Но термин "bom" употребляется, возможно он неофициальный. Что он означает? Все веб апи, которые не dom?
Он употребляется только тобой и кантором, потому и не гуглится.
Каков космический смысл в объединении CSSOM и History API в bom, но исключении из него DOM? Не логичнее было бы DOM и CSSOM объединить в один OM? Но почему тогда CanvasAPI и IndexedDB доджны быть в одном bom?
В общем, не стоит вскрывать эту тему
Неудобная статья, очевидно же
>This article does not cite any sources
>there is no standard for implementation and no strict definition
Из того, что я видел под фп они частенько понимают тупо набор правил, таких как иммутабильность, чистота функций. В общем это как ставить равно между раком и облысением.
Тебе бы тоже не помешало их поучить. Раздел про делегирование
Я уверен что 99% треда не смогут понять что такое referencial transparency, какая чистота функций лол
"Ну эта ебать функции там пишыш кароче и функции возвращающие функции возвращающие функции, и монады короче с функторами нахуй(хз че токое но фп) и мутировать нельзя, а если мутируешь то ставят раком на митапе и в жопу ебут, а ну еще и рамда жыс стоит"
И еще есть список запрещенных религией слов, вроде "класс", "объект" или самое ужасное "ООП" и "паттерны", если одно из них произносишь, то самопровозглашенный любитель ФП в жс корчится в мучениях как антихрист от креста, но объяснить почему ему неприятно или уже тем более, как именно ООП исключает ФП, не сможет в жизни, максимум пукнет что-то вроде "ну в ооп мутации ебать а в фп не мутации".
Два чаю, в конец уже ебнулись. Особенно охуеваешь, когда говорят, что ФП на JS увеличивает перформанс! Езык, не способный ни в ленивые вычисления (из-за чего вылезла куча говноподелок на обзерваблах (их еще в жс гордо именуют стримами) и генераторах), ни в TCO (зато мы можем в трамплины и Y комбинаторы!), ни в нормальную иммутабельность, да в нихуя. Зато мы пишем в point-free стиле. Заебца ФП.
Легкий, быстрый аки понос (но все равно в перформансе сливает инферно), мимикрирует под АПИ реакта, без синтетик-ивентов. Очевидно же это для тех, кого зеабало удручающее состояние дел реакта с производительностью.
>удручающее состояние дел реакта с производительностью.
Шизик, вычисляющий протеины в браузере на реакте, ты? Реакт пиздец какой производительный для своих целей, но конечно для сохранения этой производительности нужно не тянуть по 10мб кода на страницу пользователя, что само по себе довольно сложная задача для реактеров, но никак не вина самого реакта. А преакт - это просто огрызок без инфраструктуры и поддержки, использовать его можно исключительно на свой страх и риск, чтобы либо поиграться, либо если на 100% уверен, что знаешь, что делаешь.
>вычисляющий протеины в браузере на реакте
Как начнёшь писать на реакте что-то сложнее туду листа и мувисёрчера, тогда и приходи разглагольствовать.
>А преакт - это просто огрызок без инфраструктуры
>Преакт мимикрирует под Реакт АПИ
>Без инфраструктуры
Блядь, кончи, откуда вы такие повылазили нахой?
Пиздуй в китайский интернет, там срали на GDPR. Правда куками там ещё сильнее будут срать.
>Как начнёшь писать на реакте что-то сложнее туду листа и мувисёрчера, тогда и приходи разглагольствовать.
Начал, пришел.
>Преакт мимикрирует под Реакт АПИ
И что, шиз? Это ему не дает ни доступа ко всей инфраструктуре реакта, ни протестированности реакта, нихуя. Авторы 99% реактовских либ в рот ебали твой преакт, если что-то ломается по причине "недостаточно промимикрировали", то соси хуй, иди сам форкай и правь исходники, если это вообще возможно.
>Это реально прикольное чувство.
>Я каким-то хуем нагуглил паглоадер, а там рекуаер предлагают юзать прямо в паге ну я заюзал и всё заработало ахуеть
Это магическое мышление прост. Чем больше будешь разбираться в сутитм проблем, тем меньше в животе будет подобных бабочек.
ну и как тут разобраться с этим всем? в гугле нет ни одного! гайда по настройке 5 вебпака под мою конфигурацию, приходится наугад тыкаться
Тому що твоя конфигурация говно, у всех других работает.
Возьми да напиши, тогда гугол узнает.
Чтобы увеличить свою стоимость на рынке есть несколько путей:
- иметь больше опыта (тут ускориться нельзя)
- изучить технологии (typescript, nest.js, aws)
- изучить разговорный английский
Английский язык и работа за бугром дает сразу х2
typescript, nest.js - изучать не быстро, но и рост не большой
aws - технология новая и востребованная - должен быть сильный прирост в зарплате
Что посоветуете?
Как расставить приоритеты для максимально быстрого и большого результата?
Ты не понимаешь, за что тебе в конечном итоге платят деньги. Платят не за набор бессвязных баззвордов, выпаленных на собеседовании, и не за солянку разрозненных "технологий", которые ты "выучил" по манявидеокурсу потому что они тебе показались модными и современными. Платят только за одну вещь: эффективное решение задач бизнеса. И в обсуждении в отрыве от конкретного проекта/области совет можно дать только один - учись писать эффективный работающий код. То есть код, который не нужно три часа дебажить, чтобы он заработал. Код, который не хочется удалить и переписать заново, если в нем нужно что-то изменить. Код, который не кладет продакшен приложение после деплоя. Код, пользуясь которым, пользователи не хотят набить тебе ебало. Абы как ты такой код не напишешь, для этого нужен конкретный метод. Метод писания работающего кода в программировании пока известен только один - это (автоматическое) тестирование, а единственный конкретный и сформулированный метод тестирования - это TDD.
> Платят только за одну вещь: эффективное решение задач бизнеса
Маня, это тебе твой погонщик на уши навесил?
Меня не наебешь, я знаю как это работает.
То что ты сказал работает толкьо в идеальном мире и слегка на фрилансе
Расскажи своему работодателю, почему он должен тебе платить не за решение задач, продвигающих и расширяющих его бизнес, а за выученный диалект очердного модного маняскрипта. Потом расскажешь, как пройдет.
> Расскажи своему работодателю
Зачем? ясно, с тебя толку ноль,
хотя, такого как ты я бы взял на работу за небольшой прайс
Как это зачем? Ты говоришь, что работодатель тебе платит не за решение задач бизнеса а за умение пиздеть, за знание маняскрипта и прочие несвязанные с бизнесом вещи. Вот подойди к нему и узнай, за что же именно он тебе платит и какой бесполезный диалект маняскрипта нужно учить дальше или какой набор пиздаболии надо ему дополнительно сказать, чтобы тебе выдали премию.
Но ведь лохом и рабом являешься тут именно ты, потому что именно ты взаимодействуешь с работодателем не в качестве равноценного самостоятельного партнера, который честно выполняет взятые на себя обязательства и работает над достижением общей цели, а в качестве зависимого паразита-обманщика, который и пукнуть свободно не может. Лжец - это раб того, кому он лжет, не наоборот.
> в качестве зависимого паразита-обманщика, который и пукнуть свободно не может
Свободно пержу на весь офис и говорю что пернул раб лол
Давай, продолжай целовать свой кандалы
Честный труженик, не отвлекайся, рабочее врем идет, не трать деньги своего кабана за зря
>Расскажи своему работодателю, почему он должен тебе платить не за решение задач
Задачи решают только во всяких ООО Залупа. В бизнесах побольше в первую очередь хотят пощекотать своё эго. И погромист в штате, живущий на острие технологий, будет щекотать эго владельца лучше, чем решала задач.
Охуеваю с манямира шизиков, у которых человек открывает бизнес и вбухивает в него миллионы только ради того, чтобы нанять данного шизика и наслаждаться его бесполезными знаниями.
Идеальный раб, такие нам нужны, даже разубеждать не хочется
Хуй знает какие там языки, котлины-хуетлин, Раст, хз крч. Чо пизже выбрать?(где проще будет спиздить большую часть кода м потом просто под себя переделать).
Раз ты задаешь этот вопрос в треде жопоскрипта, то и ответ может быть только один: на любом языке, кроме жопоскрипта
>при переполнении которого появлялась бы кнопка "развернуть" для раскрывания на несколько строк с flex-wrap
Обязательно чтобы кнопка появлялась? Что мешает сделать на ней состояния "есть что подгружать" и "подгружать нечего" и менять стили в зависимости от него? Заодно никаких выскакиваний не будет и пердолиться не нужно с абсолютным позиционированием.
>Собственно, как задетекить что в контейнере слишком много элементов
Дефайн "слишком много элементов". Ширина тебя ебать не должна, если проставлена в em'ах.
>>42292
>открывает бизнес и вбухивает в него миллионы
Берёт кредит и сливает бабло, ты хотел сказать. Это в лучшем случае. Обычно же владелец бизнеса сливает деньги спонсоров, которые и не против, так как сами те ещё верователи в единорогов.
Появляется, точка с запятой только там где реально надо (в одном месте на программу). Хули ебало скорчил?
Уж на что я люблю джаваскрипт, но под мобилки на нем писать - это пиздец. Есть несколько вариантов, и каждый или подразумевает знание джавы, или наглухо перекрытый и конченый (как react native).
тлдр: котлин или на крайняк джава. А нахуя тебе этот календарь?
Я может хуево описал ситуацию. Мне с бэка приходит какой-то список, там может быть пара элементов, но может и пара десятков. Для того чтобы не засирать экран нужна кнопка тоггла. По количеству считать толку мало, ширина произвольная. Пикрел короче.
>Берёт кредит и сливает бабло
>Обычно же владелец бизнеса сливает деньги спонсоров, которые и не против
Шиз, где мне взять такой кредит или спонсоров, деньги которых можно потратить без обязательств и не возвращать? Они же не только в твоем заговорном шизомирке существуют, правильно?
Ты уверен что нужен тоггл? Если нужные кнопки будут скрываться под ним, это будет только больше бесить пользователя. Что за дичь такая с парой десятков кнопок?
Высота строки фиксированная?
Можно ограничить высоту контейнера и проверять scrollHeight > offsetHeight
Вот у дизайнера блин спроси. В контейнере будут ссылки на документы для скачивания с иконками/кнопками удаления.
>Ты уверен что нужен тоггл? Если нужные кнопки будут скрываться под ним, это будет только больше бесить пользователя
Да, это пиздец. Может кнопку под контейнером запихну.
>Вот у дизайнера блин спроси
Спросить должен именно ты, и не только у дизайнера, а у менеджера и у клиента, объяснив им, что получится говно, и предложив вменяемую альтернативу. Пока же ты ставишь себя в позицию не разработчика, а в позицию макаки, которая делает только как ей сказали, даже если это "сказали" подразумевает битье об стену головой.
Я отсюда уволюсь через месяц, мне рили совершенно похуй. Но на будущее интересно как такое детектить через js.
Тут вопрос не в том, что тебе похуй на место работы, а в том, что тебе похуй на себя и ты готов сквозь зубы лепить хуйню, которую сам же считаешь неправильным говном, вместо того, чтобы попытаться вместо нее сделать что-то нормальное, продуманное и интересное.
Рякт натив,
Котлин,
Джава
Ок, понял. Выберу что понятнее будет.
>А нахуя тебе этот календарь?
Есть самописный прожект менеджер. Что-то вроде трелло с говнобеком и костылями. Лень каждый раз открывать сайт и смотреть что я там накляузнячал на день.
А приложением просто открыл мобилу, глянул календарь в виде виджета и все.
Ровные стрелочки как бы намекают.
Решето полное. Сноуден на вас хуй клал, проводники NSA продажных Twitter Google Apple.
Какие безопасники в стартапах? Приятно когда код сливают все кому не лень? Тот же CD Project RED проперделся на этом.
>10 с уязвимостями
Какими, на что влияющими? Пук "уязвимость" вне контекста не значит абсолютно ничего, может быть там уязвимость уровня "в IE 11 можно поменять число на строку в хранилище залупы в вискосный год в 23:59:59 определенного дня".
>Теперь отгадайте сколько пакетов с не обнаруженными уязвимостями.
До тех пор, пока эти уязвимости не обнаружены, они остаются лично твоими ничем не подкрепленными фантазиями, а серьезные решения на фантазиях не строятся.
>До тех пор, пока эти уязвимости не обнаружены, они остаются лично твоими ничем не подкрепленными фантазиями, а серьезные решения на фантазиях не строятся.
Да, где нибудь в C++/C/Rust, где жопу сломишь искать уязвимости(в бинарном коде) У JS открытый код и догадайся к чему это идёт.
Речь не о том, как легко/сложно где-то найти уязвимость, а о том, что пока у тебя нет на то конкретных оснований, то пук "да там уязвимости бля буду" остается лично твоей необоснованной фантазией, будь он направлен хоть в си код, хоть в жс. Не говоря уже про то, что подобную попытку в аргументацию можно зареверсить и таким же успехом сказать "в жсе открытый код, любой может найти и зарепортить уязвимость, поэтому в жс либах меньше уязвимостей, чем в закрытых бинарниках".
Будто в плюсах нельзя в чужую память залезть.
>Если тебе не нравятся тыщи зависимостей для дева, то поищи себе занятие по душе.
Занятие по душе? Лучше я сам буду писать код, который я могу проверить, а не пихать туда 10+ зависимостей, или чем больше, тем лучше(Чем занимаются senior-ы, судя по моей node_modules)
>что пока у тебя нет на то конкретных оснований
Иди скажи это NSA. Никаких уязвимостей нет ко-ко-ко, но Сноуден то показал, что всё в уязвимостях и NSA сидит в гландах (на всех хабах европы сидит то)
Тебе платят что ли за аудит безопасности? Забей хуй и лепи фичи побыстрее.
>Лучше я сам буду писать код, который я могу проверить
На уязвимости, о которых тебе пишет npm при установке пакета, ты в жизни не проверишь ни одной своей строчки кода, потому что они в 99% случаев заключаются в:
>в IE 11 можно поменять число на строку в хранилище залупы в вискосный год в 23:59:59 определенного дня
Ну иди пиши свой экспресс без зависимостей и уязвимостей, если тебе за это платят. Чо до нас доебался?
>Шиз, где мне взять такой кредит или спонсоров, деньги которых можно потратить без обязательств и не возвращать?
Тебе - никак. твоё дело задачи выполнять.
>Но на будущее интересно как такое детектить через js.
Что детектить? Квери селектором собираешь всё в массив объектов, и там уже манипулируешь как хочешь.
>Да, где нибудь в C++/C/Rust, где жопу сломишь искать уязвимости(в бинарном коде)
Пердолик закукарекал. Бинарный код у него от уязвимостей защищает, охуеть.
Ну бля, просуммируй ширину этих блоков, если больше ширины родительского контейнера, то делай этот контейнер как collapsable, поебись там со стилями и выбери лучший подход, хули тут думать. Если ты ожидаешь какое-то одно магическое цсс свойство увидеть то сомневаюсь что такое есть
Мамкин врунишка-наебщик банков, инвесторов и работодателей, ты все никак не успокоишься?
Ну ты разобрался чи как? есть материалы?
>Выберу что понятнее будет.
Ты просто выделил из текста все английские названия что ли блядь? Ещё раз: Котлин. Ко-тлин. К. о. т. л. и. н.
А лучше просто сверстай мобильную версию сайта и не еби людям мозг.
>Если ты ожидаешь какое-то одно магическое цсс свойство увидеть то сомневаюсь что такое есть
Ты про `flex-wrap`?
>Ты просто выделил из текста все английские названия
Да.
>Ещё раз: Котлин.
Понял.
>и не еби людям мозг.
Суета намечается...
Кстати серьезно, почему тебе сайт не сделать мобайл-френдли? Какой нужный тебе функционал отсутствует у сайтов, но есть у нативов?
Сайт адаптивный. На телефоне все летает, пиксили-хуиксели не залезают куда не надо.
>Какой нужный тебе функционал отсутствует у сайтов, но есть у нативов?
Я когда в пути, ноут не достать. А на телефоне нужно открыть браузер, авторизоваться, и там уже смотреть задачки на день. Тупо время занимает, чтобы посмотреть в описании задачи: "Не забудь купить кумыс и контрацептивы". Ну и неудобно.
А теперь представь, включил мобилу, а там хуяк, уже все видно. И никуда кликать даже не надо. Сразу на экране. Круто же.
Так сделай pwa уже епта.
Смотрю,ничего нового не добавляют.а только правят косяки и обновляют V8
Как в массиве объектов для нужного мне поля в каждом объекте поменять значение
Маплю и кладётся просто значение в конец массива
function puk(){
let arrObj = [
{some:"unchange",},
{some:"changeit",},
{some:"unchange",},
{some:"changeit",},
]
arrObj.forEach(e => {
if(e.some == "changeit"){e.some = "puk"}
})
console.log(arrObj)
}
puk()
&
360x450, 0:06
Cпасибо большое, анончик.
А ну пакеж
Ну например бесшовное внедрение гринтредов, не требующих помечать функции особым магическим способом, манагед доступ к памяти, сырые указатели, исполнение и оптимизация TS кода без промежуточной компиляции, TCE, да много чего ещё ...
хотя бы частичное подражание мощи JVM
> бесшовное внедрение гринтредов, не требующих помечать функции особым магическим способом
Воркеры
> манагед доступ к памяти, сырые указатели
N-Api в помощь
> исполнение и оптимизация TS кода без промежуточной компиляции
Нинужно
> TCE
Хз что это
JS, не благодари.
Я бы и сейчас делал. Жеквери прекрасен. Прост, удобен, интуитивно понятен, работает даже на говне мамонта без всяких полифилов.
Да ну действительно. Только не плачь потом, что граблями по лицу уебало.
пососи член, долбаеб
съеби с раздела, уёбище, вечно хуету залетным пишешь, гниль пидорашья, трясет от таких, потом пишут, что тут треды токсик из-за таких пидорасов
TCO штоле? Гугол решил, что нинужно.
Зачем?
>чтобы скопировать текст по кнопке надо создать скрытый элемент и выделить его, или подключить 160-строчную библиотеку которая делает так же
Бляяя, я знал что Жрысня конченный недоязычок, но не настолько же.
Потому что такие рукожопы как ты пользователю в буфер клали rm -rf, вот и сделали работу с буфером через анус.
Вообще, там уже изобрели Async Clipboard API.
>>2043386
Зарепортил. Съеби в /b там и спамь. Тут серьезные люди сидят, всем похуй на твой тумбач.
А как работает Virtual DOM тогда в браузере? Браузер же не видит React код, он видит императивный JS в ES5 синтаксисе или ниже. Получается Virtual DOM представлен в виде каки-то императивный функций который хранят как-то состояния? Чи шо?
Как в теории работает VDOM и DOM я читал. Но не нашел как конкретно браузер читает и исполняет VDOM.
поясните плиз, браузер видит реакт либу или нет?
Единственное что нашел, это то что JS получается на основе библиотеки React создает кэш структуру - на основе которой потом и работает.
Как выглядит эта кэш структура под капотом в браузере?
короче понял, VDOM представлен в JS в виде объекта со свойствами, JS обращается к этому объекту и сверяет разницу.
ответ нашел здесь https://habr.com/ru/company/macloud/blog/558682/
Самый продвинутый — это Nest. Встроенной админки там нет, но есть какая-то херня под названием nestjs-admin. Я ей не пользовался ни разу.
чекбоксы при активации записываются в стейт, стейт пушишь в headers на свервер
сервер смотрит че пришло
Если ты в браузере не держишь всю базу данных со штанами, то очевидно фильтровать ее может только сервер, а клиент просто отправляет, по каким параметрам надо фильтровать.
> Так что там насчёт event-листенера
Просто событийная шина с конвейерной обработкой.
> его реализации в js на прерываниях
JS абстрагирован от столь низкой абстракции, сигналы проксирует рантайм.
Я подготовила список вопросов от тех-лида для нашего собеседования, вот первый: назовите основные минусы React библиотеки.
Я тоже для вас подготовил список вопросов:
1) Минусы при использовании для каких целей?
2) Минусы в сравнении с чем?
Вы слишком агрессивно настроены, нам нужны более лояльные ребята, алибидерчи.
Бамп
спасибо за ответ, очень помог
Сам, как вкатывался? И как давно?
Успокойся, это тут так рофлят.
Так вот, меня волнует один момент. Что если во время транзакции сервер в соседнем потоке начнёт обрабатывать другой sql-запрос и транзакция откатиться?
Получается, что этот другой запрос не связанный с транзакцией тоже откатиться?
Если да, то как этого избежать? Для каждой транзакции использовать отдельный пул?
Чиво? У тебя же база лочит ресурсы на время транзакции. Чому у тебя вторая начнётся?
Герой-клавиатуры, пнх
Ага. Сохранил и применил на практике.
>RxJs это нужня тулза для реакта?
Рыксу можно использовать с реактом, только если угоришь по хардкору, то пососешь писос в один прекрасный момент.
Гугли push vs pull model. Так вот, у нереактивного реакта (вот ведь оксюморон, мдахех) пулл модель, у рыксы - пуш. В какой прекрасный момент у тебя рванет - да хуй его знает, используй на свой страх и риск. Мы у себя оставили обзерваблы только для обработки ивентов, результат обработки которых затем кладется в pull-based стор. Удачи)
в догонку - твит одного из кор контрибьюторов реакек-та на тему вопроса, если нужен авторитетноетм мнение: https://twitter.com/acdlite/status/1086523514180366338
А, это. У меня нпм аудит постоянно срёт варнингами, ололо этот пакет с уязвимостью потомушто поллюции прототипа.
ну норм, теорию я знаю.
А то на ютубе увидел 6 вложенностей обьектов в функциях и там просят объснить где чей прототип какого прототайпа, я в рот ебал такие шарады
имеется в виду в одной функции 3 вложенности и в другой вложенности с именами из первой функци, все крест на крест типо пересекается
прототип есть у функций и классов, у стрелочных функций он андефайнед, у всего остального(объектов) есть прото, прото это наследник конструктора от которого он создан
обоснуй
В чём проблема? На жс охуенно парсеры писать, лучше питона ебаного.
norm
Да(да)
Флаги в тсконфиге стоят все возможные. ESlint недосматривает?
ой чето я нихуя не понял
В нашей симуляции все реально ровно настолько, насколько реальна наша симуляция.
Тайпскрипт не нужен.
В голом Реакте никакого шаблона нет, всё зависит от того, как ты стейтом управляешь.
В Redux используется паттерн Flux например, а Mobx больше похож на классический MVC.
Мамка твоя на прерываниях реализована.
Храни тогда состояния полей в сторе.
Нужна помощь с фронтом, частично его по требованиям реализовал, но некоторые вещи не получается подключить / непонятно как реализовать на js, т.к. нет опыта, изучаю 2 недели. Если у кого есть время/желание, напишите почту/телегу. Не бесплатно.
@KakodemoN
Спасибо.
На всяких крестах сайты не пишут и геймдев я не люблю. Да и учить кресты 100 лет.
Посоветуйте куда лучше дрейфовать после реактостека? Выучить Vue/Angular или двигать в сторону ноды?
Я тоже больше склоняюсь к ноде. Но прежде всего потому, что есть предположение, что Vue и Angular просто канут в лету.
Ангуляр уже вытесняют из энтерпрайза. А почему реакт недолго поживет? Наоборот отжирает рынок.
Я хочу убрать некоторые useState ,и поменять их на рефы
Тут важнее функциональность.
Рефы надо юзать только когда тебе нужно актуальный стейт зацепить во время рендеринга и асинхронности.
Обычное если prevState в useEffect не подходит во время рендеринга.
Умрет скорее не сам реакт, а понятие текущих фреймворков что сейчас имеем.
Сейчас ноду активно интегрируют в браузеры.
Все идет к тому что разработка превращается в глобальный инструмент, все оптимизируется и не нужное выпиливается.
Все интегрируют в один сборщик под один фреймворк(и фронт и бек на нем сразу писать можно будет).
Посмотри какие фреймворки были 10 лет назад лол, под каждый чих был инструмент, сейчас все мертвы. Сейчас переходный момент, нейронки и прочее ускоряются, вуе ангуляры и прочие станут архаизмами 2010-2020 годов.
Например я жму на чекбокс и в зависимости от булеана рендерю див с определенным классом. Сейчас это на useState. Если я поменяю на реф, то избавлю себя от лишнего ререндера и подмена класса будет быстрее, но в целом у меня постоянно весит реф и он привязан к диву. Вот если на одну чашу весов положить отсутсвие ререндера, а на другую постоянный реф в памяти и привязка к дому, то что выйграет?
На одном стуле у тебя бул в памяти, на другом ссылка на див, див в браузере и без тебя был, так что ты здесь вроде и не проиграл и не выиграл.
С другой стороны за такую хуйню тебя отпиздят, выгонят, а потом ещё раз отпиздят
А где можно глянуть на тенденции этого всего? Про ноду в браузере недавно натыкался, но прочитать не успел.
Потому что стейт не нужен, нужно все писать через рёвы и jquery. Если все же хочется стейт, то можно его в data- атрибутах хранить. Столько ререндеров ещё никто никогда не спасал
В iot имеет, остальное хз.
С помощью setTimeout заставлял транзакцию не сразу закрываться, в это время парарлленльно выполнял другой запрос.
Впрочем, это и не так сейчас важно. Помогите пожалуйста в другой более срочной и важной проблемой. Не могу записать в колонку с типом decimal или float число - записывает 0. библиотека mysql2
Пробовал:
- передавать "1.00" как строку
- менял параметры подключения supportBigNumbers, bigNumberStrings и typeCast
- менял тип колонки с decimal на float
- искал в сети решение
Подозреваю что тут что-то связанное с проблемами хранения дробных чисел в js, но в любом случае не знаю как фиксить
double тоже не помогает. выручайте
Отбой тревоги, оказалось в update вместо запятой and поставил, а думал что либа плохая, float'ы не понимает. Извините что побеспокоил
всё равно вкатыш, будет этим дерьмом заниматься
Двачую вопрос, та же ситуация.
Надо как раз завышать, идти как минимум на мидла.
для перемещения окна на другой дисплей не работает
Не важно, будет это одно большое окно или на каждом экране своё, дайте хоть какое-то работающее решение пожалуйста
Ссылочку? Чот самому интересно стало.
Это копия, сохраненная 22 июня 2021 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.