Это копия, сохраненная 4 мая 2021 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Больше пары строк кода в посте или на скриншоте ведут в ад.
Для программирования на HTML https://jsfiddle.net
Для Node.js с консолькой https://repl.it/languages/nodejs
Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: «что я хочу получить, что я для этого делаю, что я вместо этого получаю». Если когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
Руководство для вката: https://developer.mozilla.org
Я обязательно вкачусь без вышки и опыта!
Ну я вкатился и ты вкатишься.
Я вкатился, значит и у тебя получится.
Стека 2021 еще не вышел, из ютюберов - ивангай и влад а4
Я спрашивал у сеньоров
>курсы
Ну если ты долбоеб с двузначным IQ, то конечно стоит. Пользы ты в любом случае не получишь, но хотя бы деньги отдашь предприимчивому и хитрому минину, а не проебешь на шлюх и в казино.
Каждый раз с этой таблицы ору. Эх, сейчас бы в бэкбон вкатываться.
Покупаю курсы со скидкой на рутрекере.
Зашел тут глазком глянуть на жс и экспресс, откуда такой фетиш на коолбеки? На любой минимальный пук мы кидаем в функции коллбек
У нас всё происходит в асинхронной манере, поэтому без калбеков ты ничего внятного не напишешь. Правда это уже в прошлом, сейчас все пользуются async/await конструкциями.
Пользователь вводит
"Я хочу"
ему добавляется
"сосать члены"
в инпуте пишется
"Я хочу сосать члены"
Но тут возникает проблема - как грамотно реализовать удаление?
то есть надо чтобы пользователь нажимая на del удалял символы не из "члены", а из "хочу". Понятно дело, можно сравнивать с прошлой версией строки, и если она уменьшилась, то обрезать "хочу", но мне кажется, должен быть менее костыльный способ.
>зачем нужно спрашивать алгоритмические задачки на собесе бла бла бла
>пчелик приходит на оранжевый форум с просьбой помочь написать ему маску для инпута
vue
Вэбпак никуда не денется. Но хуй ты его "выучишь" на своих петах, так как его возможности, вместе с древом конфигов , раскрываются только на распухших проектах.
Каким место это к алгоритмическим задачам относится, даунич? Через js это пишется на изи, но на мой взгляд это костыльное решение. Вопрос был есть ли что-то типо специального атрибута или чего-то подобного, при помощи которого можно было бы не меняя значение инпута отображать отредактированное значение в строке
:)
>пишется на изи
Ну да, в итоге мы получаем тормозящее дерьмо, потому что "пишуший на изи" макакен даже и не знает о такой структуре как Trie, а если и узнает, то не поймёт как её применить.
Я так и пробовал.
Вот из последней попытки :
async function run (js){
for (const j of js) {
console.log(`${j} iteration.`);
const r = await solve(xs[j]);
}
}
и резульат :
tt@qi:~/js/001_simple_bidirectional_workers_with_pool$ node t.js
0 iteration.
1 iteration.
2 iteration.
workerData is workerData!
Fibonacci(25) result: 75025
workerData is workerData!
Fibonacci(31) result: 1346269
workerData is workerData!
Fibonacci(30) result: 832040
workerData is workerData!
Fibonacci(25) result: 75025
https://pastebin.com/aMYXystc - новый мейн.
https://pastebin.com/tiNjXSs1 - новый воркер.
Я попытался просто пример из доки на либу зациклить.
Без цикла отрабатывает нормально, а в цикле не хочет работать последовательно (.
блять объясните, зачем возвращать функцию внутри другой функции, чтобы это заработало? почему просто нельзя код из тела вложенной функции сделать без обёртки в виде функции?
Потому что onclick принимает в качестве аргумента функцию. Ты не можешь написать
document.getElementById('size-12').onclick = makeSizer(12);
Если у тебя makeSizer(12) не возвращает функцию.
спасибо!
Вот я ебан.
добавил console.log("Done !"); в конец функции solve
и получил
0 iteration.
Done !
1 iteration.
Done !
2 iteration.
Done !
workerData is workerData!
Fibonacci(30) result: 832040
Короче дело не в цикле ... тут был facepalm
Вкатываться в ангуляр начал с нового года. Все правильно делаю? Можно ли будет найти работу или пока не поздно лучше переходить на Рекат?
И самого бесполезного.
Через emit?
// ### FUNCTION ###
async function solve(x){
const pool = new StaticPool({
size: 2,
task: filePath,
});
const execArr = x.map( (n) => pool.exec(n) );
const resArr = await Promise.all(execArr);
pool.destroy();
return resArr;
}
// ### END OF FUNCTION ###
let a = [];
solve(x).then(fibArr => {console.log(fibArr); a = fibArr;console.log(a)});
console.log(a);
##### OUTPUT ###########
[]
[ 514229, 832040, 1346269 ]
[ 514229, 832040, 1346269 ]
Как мне ему сказать, что пока solve не выполнен - нихуя больше не делать и ждать ?
// ### FUNCTION ###
async function solve(x){
const pool = new StaticPool({
size: 2,
task: filePath,
});
const execArr = x.map( (n) => pool.exec(n) );
const resArr = await Promise.all(execArr);
pool.destroy();
return resArr;
}
// ### END OF FUNCTION ###
let a = [];
solve(x).then(fibArr => {console.log(fibArr); a = fibArr;console.log(a)});
console.log(a);
##### OUTPUT ###########
[]
[ 514229, 832040, 1346269 ]
[ 514229, 832040, 1346269 ]
Как мне ему сказать, что пока solve не выполнен - нихуя больше не делать и ждать ?
если так сделать :
SyntaxError: await is only valid in async function
Ну и к тому же, мне этот кусок кода надо запустить синхронно, что бы в for потом засунуть. Т.к. последующие итерации зависят от предыдущих.
Так что запихать всё это в асинхронную обёртку не вариант.
>SyntaxError: await is only valid in async function
Обнови ноду, либо оборачивай в
(async function() {
//твой говнокод
}());
Твои цели сложно понять, а следовательно и понять что тебе нужно. Но скорее всего тебе не хватает sleep функции:
const sleep = ms => return new Promise(res => setTimeout(res, ms));
С ней ты можешь запускать циклы в которых каждые n миллисекунд будешь проверять какое-либо условие и делать в зависимости от него какое-либо действие.
Моя цель - распаралелить генетический алгоритм (наговнокодил сам).
В один поток всё работает. Хочется заставить работать worker thread. Всё упирается в то, что пул воркеров работает асинхронно, и в цикле for эпохи запускаются одновременно.
Здесь выкладывал синтетический тест, который считает число Фиббоначи, в качестве нагрузки.
>>1551
node -v
v15.6.0
и как потом эта обёртка в цикле for себя будет вести? я ж от этого и хочу уйти.
>>1544
А можешь пример написать ? Я с промисами авойт асинк только сегодня начал разбираться, пока что то не ок выходит.
>v15.6.0
А флаг '--harmony-top-level-await' при запуске за тебя кто проставлять будет, макакен?
Про кишочки спрашивать не будут, но могут попросить выполнить какую-нибудь элементарную задачу типа переворота или нахождения самого длинного пути между узлами.
With v14.8.0, top level await has been unflagged and now just works. The only catch is that top level await is only supported in ES modules.
Вроде как и не надо такой флаг теперь.
Но теперь с модулями разбираться - просто тип поменять не помогает.
ReferenceError: require is not defined
А вначале всё так просто выглядело ...
Пару лет назад во фронтенд хотел вкатиться, будучи студентом, верстал-верстал, потом JS начал учить и мне таааааак противно стало, что я бросил к хуям.
Сейчас устроился на работу в областной телецентр, но проработав несколько месяцев за 15к на должности электромеханика средств телевещания, я понял, что если я буду просто сидеть и просто работать, то никакого светлого будущего вне не видать. Решил, собственно, опять попробовать войти в айти.
Как там с рыночком? Пузырь уже лопнул? Лопнет? Не лопнет? Вкатываться смысл есть?
Спросил бы в /wrk/, но ну их.
уже пробовал.
import StaticPool from "node-worker-threads-pool";
const pool = new StaticPool({
^
TypeError: StaticPool is not a constructor
https://www.youtube.com/watch?v=M7nLUzpJrJk
Во, спасибо !
Теперь всё как надо.
Спасибище, Анон !
//### SCRIPT ###
for(let i = 0; i < 3; i++){
console.log(`Start iteration ${i}`);
let x = [];
for (let i = 0; i < 3; i++){
x = 25 + Math.trunc(10 * Math.random());
}
const a = await solve(x);
console.log(a);
console.log(`Stop iteration ${i}`);
}
console.log("End of script.");
//### OUTPUT ###
att@qi:~/js/js_tests$ node 003_test.js
Start iteration 0
[ 1346269, 2178309, 832040 ]
Stop iteration 0
Start iteration 1
[ 5702887, 3524578, 2178309 ]
Stop iteration 1
Start iteration 2
[ 514229, 514229, 1346269 ]
Stop iteration 2
End of script.
Во, спасибо !
Теперь всё как надо.
Спасибище, Анон !
//### SCRIPT ###
for(let i = 0; i < 3; i++){
console.log(`Start iteration ${i}`);
let x = [];
for (let i = 0; i < 3; i++){
x = 25 + Math.trunc(10 * Math.random());
}
const a = await solve(x);
console.log(a);
console.log(`Stop iteration ${i}`);
}
console.log("End of script.");
//### OUTPUT ###
att@qi:~/js/js_tests$ node 003_test.js
Start iteration 0
[ 1346269, 2178309, 832040 ]
Stop iteration 0
Start iteration 1
[ 5702887, 3524578, 2178309 ]
Stop iteration 1
Start iteration 2
[ 514229, 514229, 1346269 ]
Stop iteration 2
End of script.
Никогда, поезд уже давно ушел, если хочешь что то делать в этом направлении то исключительно ради собственного интереса, заработать уже на этом к сожалению нельзя
Точно так же начал, июнь июль, напилил 5 проектов на среакте с редаксами хуяксами, тудушки, хуюшки, новостной сайт с бэком на ноде в хероку и клиентом на нетифлае, сейчас допиливаю первый вью проект, получил нихуя, так что иди нахуй этого мало
>иди нахуй этого мало
Ну тогда ищи работу хуле, если у тебя на гитхабе не одни тудушки по курсам, а что-то своё есть. А не тут у наркоманов спрашивай что тебе делать
Ну тогда причина, по которой ты не можешь найти работу это величайшая тайна вселенной. Ты еще профили свои со всех площадок по поиску работы удали.
хуета, учи БЭМ.
- у каждого элемента должен быть свой класс
-общая группировка классов называется блок
- нтч чайлд нужен для глубокого доступа в редких ситуациях
в основном все должно выглядеть так, чем меньше доступ через селекторы тем быстрее код
>в основном все должно выглядеть так, чем меньше доступ через селекторы тем быстрее код
Ну я уже чувствую, что хуета, по тому, насколько ублюдски выглядит css, надо учить
>Типа есть например 6 элементов в гриде, каждый разного размера, и к примеру что всё выровнить я делаю - :nth-child(1) {...} и т.д.
Это очень расплывчато. 6 элементов там постоянно, типа виджета, или какой-нибудь рэндомный список/таблица? В первом случае хуяришь по классу на каждый уникальный элемент, во втором только дочерними селекторами красить.
Читай
Бэм - https://ru.bem.info/
и учи стиль SCSS - https://sass-scss.ru/documentation/
Гайд верстки на Scss - гугли на торентах курс Петриченко Html/css с нуля, там чел сразу настраивает окружение и npm скрипты и прочую шелуху, сразу вникнешь и на scss/Бэм после курса научишься хуярить
на юдеми касарь стоит - https://www.udemy.com/course/webdeveloper/
я за 900 покупал, можешь и с торентов если денег нет, но через юдеми удобнее, там в комментах часто проблемы разбирают
Нет
Нет x2
Нахуй не нужно. Если знаешь, будет неплохо, но честно - нахуй не нужно.
Есть область и в ней какой-нибудь квадрат.
Мы можем зажать кнопку на квадрате и перетаскивать его по области.
Тут понятно, что можно при mousedown вешать класс ("элемент активен").
А при mousemove, например, перемещать его по области.
Проблема следующая: ну зажали мы на квадрате, а отпустили мышь за пределами. Значит нужен обработчик отжатия на body, например mouseup (а в обработчике мы проверяем, что отпускаем не на квадрате).
Ну а если мы зажали и двигаем этот квадрат, двигаем... и тут курсор заходит за область. Нужно, чтобы квадрат и дальше двигался, но две проблемы: как считать координаты куда его пихать и где это обрабатывать.
По идее, в document создаём обработчик mousemove, смотрим, активен ли кважрат и двигаем его, получая координаты по .getBoundingClientRect(). И всё нормально.
Вопрос только в том... а является ли это правильным способом? Т.е. каждый раз вызывать .getBoundingClientRect() при движении - это же пиздец как расточительно и тупо.
По сути, область же всегда на месте, достаточно считать .getBoundingClientRect только при инициализации области и, например, когда документ скроллится. Т.е. создать слушателя, который будет слушать windows.scrollчто-тотам и вызывать при изменении .getBoundingClientRect(), записывая его... в data-параметры div? в объект-состояние?
Допустим, так.
Но обработчик один хуй надо куда-то вешать. Тоже слушателя создавать?
Как это нормальные люди делают, чтобы не засирать память?
Краткая версия вопроса: как обрабатывать поведение курсора за пределами элемента, где мы что-то изменяем, чтобы не превращать код в говно.
Почитай про всплытие
Нормально прошел, молодец.
Сорян за ответ ссылкой, но тебе стоит освежить свои знания DragNDrop API
https://learn.javascript.ru/mouse-drag-and-drop
ПРОСТО и БЕЗ ЗАДНЕЙ МЫСЛИ
Я могу перемещать что-то по экрану. Вопрос в том, что разве при наличии двух таких плагинов с перемещением, мы не получим конфликт, ведь обработчик события на документе\окне может быть только один?
Т.е. один плагин вешает на document обработчик для mousemove и второй вешает свой обработчик, в итоге обработчик перезаписан и первый плагин корректно не работает.
Тут, быть может, стоит сделать обработчик с погружением, потому что дело начнётся с html. Но его тут же нужно будет и прирезать на html. Вопрос только в том, а что, в таких случаях действительно делают обработчики с погружением?
Вешать обработчик на документ нужно только в крайних случаях, особенно когда речь о таких частых событиях как движение мышью Вешай его на родительский элемент.
>Т.е. один плагин вешает на document обработчик для mousemove и второй вешает свой обработчик, в итоге обработчик перезаписан и первый плагин корректно не работает.
Если ты в тупую присваиваешь `onmousemove` - конечно.
Но вообще-то уже 2021 год и есть `addEventListener()`.
Потому что не всем это интересно.
Меня как-то спросил друг, "А че, любой может вот так вот стать программистом? Типа выучить все бесплатно и 100к зарабатывать? А че тогда все не работают программистами?"
Я говорю, мол ну ты вот че не работаешь?
Он съехал типо "Ну я гумонитарий, это не мое пук среньк".
Н
Это я понял. Вот у нас контейнер нашего плагина: желоба с перемещающимся в нём квадратом.
Если зажать на нём мышь, то можно двигать квадрат вдоль желоба.
Цель: сделать так, чтобы при зажатии квадрат двигался не только когда мышь находится в контейнере, но и когда она в любой части страницы.
Т.е. если зажать над квадратом и влево вправо водить мышью под контейнером, этот квадрат всё равно будет продолжать двигаться.
Как этого добиться не насилуя макаку? Повесить eddEventListener на document тупая идея. Всплытие идёт в потомкам, как кто-то советовал. Тогда что использовать? Поднятие?
Ну тебе же уже сказали - drag and drop API, что тебе еще нужно? Чтобы за тебя код написали? Для этого есть готовые решения в UI библиотеках.
Ответ на вопрос. Код я и сам напишу.
Мне нужно не готовое решение, а понимание того, как и почему мы делаем определённые вещи.
Не знаю, как объяснить, чтобы было понятно о чём я спрашиваю.
Давай проще.
У нас есть кнопка в контейнере.
Кнопка активируется при зажатии (именно зажатии) и деактивируется при отжатии.
По идее всё просто. Вешаем mousedown на кнопку, при зажатии над кнопкой она активируется.
Вешаем mouseup на контейнер. При отжатии в контейнере кнопка деактивируется.
Понятный функционал, я блять не знаю как проще описать.
А теперь такая ситуация - я зажал кнопку и увёл курсор из контейнера. Отжал за пределами контейнера и кнопка всё ещё активна.
Вопрос, как сделать так, чтобы отжатие вне контейнера тоже деактивировало кнопку.
Одно решение, в лоб и тупое, добавить слушателя на окно\фрейм и если кнопка активна, то деактивировать её, иначе нихуя не делать.
А другое какое? Использовать погружение вместо всплытия? Всплытие же не идёт выше элемента на который повешен обработчик. А нам надо идти до document.
Вот в этом вопрос. Или опять непонятно объяснил?
Я всплытие понимаю так, что обработчик последовательно срабатывает на всех дочерних элементах, если мы его не остановим. Доходит до элемента и останавливается. А если нам надо что-то выше - то либо вешаем обработчик выше, либо использует погружение. Но так как я про погружение слышу раз в сто лет, то его, похоже, не используют. Вот отсюда у меня и вопрос.
Ответ на вопрос. Код я и сам напишу.
Мне нужно не готовое решение, а понимание того, как и почему мы делаем определённые вещи.
Не знаю, как объяснить, чтобы было понятно о чём я спрашиваю.
Давай проще.
У нас есть кнопка в контейнере.
Кнопка активируется при зажатии (именно зажатии) и деактивируется при отжатии.
По идее всё просто. Вешаем mousedown на кнопку, при зажатии над кнопкой она активируется.
Вешаем mouseup на контейнер. При отжатии в контейнере кнопка деактивируется.
Понятный функционал, я блять не знаю как проще описать.
А теперь такая ситуация - я зажал кнопку и увёл курсор из контейнера. Отжал за пределами контейнера и кнопка всё ещё активна.
Вопрос, как сделать так, чтобы отжатие вне контейнера тоже деактивировало кнопку.
Одно решение, в лоб и тупое, добавить слушателя на окно\фрейм и если кнопка активна, то деактивировать её, иначе нихуя не делать.
А другое какое? Использовать погружение вместо всплытия? Всплытие же не идёт выше элемента на который повешен обработчик. А нам надо идти до document.
Вот в этом вопрос. Или опять непонятно объяснил?
Я всплытие понимаю так, что обработчик последовательно срабатывает на всех дочерних элементах, если мы его не остановим. Доходит до элемента и останавливается. А если нам надо что-то выше - то либо вешаем обработчик выше, либо использует погружение. Но так как я про погружение слышу раз в сто лет, то его, похоже, не используют. Вот отсюда у меня и вопрос.
О, и что по стрелочным скажете?
Чел тралибасит или Express реально мертв нахуй?
Еще одна жертва минина и прочих хуесосов, вот почему нужно читать документацию библиотеки
Не актуален после появления SPA.
Потому что нет блока
Можно его, но вообще любые CSS-модули сойдут.
Профайлером тычешь в своё поделие и определяешь те куски, которые тормозят, их и оптимизируешь. А то ты везде своих функций через выражения (с) натыкаешь, а у тебя там O(n!) блять.
>Т.е. если зажать над квадратом и влево вправо водить мышью под контейнером, этот квадрат всё равно будет продолжать двигаться.
Это блять типичными иф элсами делается проверкой на координаты квадрата и шириной/высотой его контейнера.
Чел, это-то понятно, вопрос был в другом. И, собственно, как я понял, никто не ебёт мозги и просто слушателя вешает на window или document и там уже проверяет.
ЧЯДНТ?
Ну оно само собой вставляется. А ты видел хотя открывал проект? Я же оставил ссылку для скачивания.
Сейчас бы скачивать с двачей хуету васянскую, значит делаешь что то не так, если вообще еблан включай минина и делай по шагам, харк птьфу черт сука
>ну а хули тогда пиздишь на ровном месте даже не посмотрев спермоприемник свой открываешь
Вар
Что за тупые вопросы, господи.
ну и нахуя ето надо
Трипл не спиздит
>А то ты везде своих функций через выражения (с) натыкаешь, а у тебя там O(n!) блять.
Проиграл в голос прямо на рабочем месте. Что характерно, всё так и будет.
:)
Хуёво. Если у тебя будет 100 элементов. Тоже на каждое будешь отдельный эвент вешать?
Да нет, если бы такая проблема была, я бы загуглил и узнал про делегирование, а теперь о нём сказал ты, пойду изучать
Я просто сейчас так учу язык, сразу вижу задание (с сайта оп-поста) и решаю, без знаний языка.
Тебя просто заставляют не жрать говно. Правильно делают тащемта.
scss
Суть:
На тулбаре браузера есть кнопка плагина(уже прикрутил)
Когда пользователь кликает по ней, она сканирует код html страницы на которой сейчас пользователь и если находит нужные элементы то загружает по его ссылке фото по стандартному пути загрузок браузера.
Я запорослся на моменте парсинга html кода, скажите пожалуйста прибилизетельно какими функциями и технологиями это делает, я уж сам нагуглю.
спасибо
петы которые сделал очевидно
Ну то есть чтобы в гите были не просто загружены проекты, а чтобы к каждому было красивое описание + скрины\видео работы?
программирование это не твое, оно тебе не нужно, просто закрой тред и иди лучше вебмки смешные смотри
Гиты никто смотреть не будет. Лучше на hh добавить скриншотов и ссылок на проекты которые либо на хостинге платном, либо на херокуапп/гитхаб пейджс. К слову, размещал ссылку на сайт в резюме, переходило по ней процентов 5 от всех хрюш
>процентов 5 от всех хрюш
Почему? Им похуй на кандидата?
А если я фото пресса и члена в резюме выставлю, сколько хрюш потекут?
В большинстве уроков по JS, где авторы работают в VS Studio, у них отступы явно меньше, где-то 2 пробела.
На какую клавишу они нажимают для табуляции? Или это я в глаза ебусь?
Причина вот эта строчка в js файле.
browser.downloads.download
Браузер firefox
Что делать?
Да читал я это, не дурак. Уж сюда пишу от безысходности. Даже в бэкграунд вывел его, всё бестолку.
Просто прими, что программирование не твоё. Говорю же с двумя пробелами только синьоры пишут.
Что такое контекст? Я просто не веб разработчик, мне нужно разово разработать плагин под себя по-быстрому
Пасаны, потихоньку пилю свое модальное окно на ангуляре, вроде че-то работает, но окно должно блокировать контент под собой, чтобы нельзя было с ним взаимодействовать, пока оно не закроется (да заодно и затемнять окружающий фон), но так не происходит. Это наверное скорее вопрос к css?
На данный момент в стилях вот это:
.modal {
position: fixed;
top: 50%;
left: 50%;
z-index: 1250;
transition: 0.3s all;
}
Все, настроил.
Надо новый файл.js начинать, в старом так и будет 4 пробела.
какого это, быть токсичным защеканцем, который сажает других на дизмораль просто для того чтобы на их фоне казаться выше?
вот было бы круто если б оно еще в старых файлах работало как надо
жалко что нельзя так сделать...
Забей. Я все равно жопой посмотрел на твой скрин. Код немного переделать надо. Не заметил одного момента
Пчел. Смотри, по факту у тебя модалка должна состоять из двух блоков. Первое - это оверлей. Он должен быть растянут на всю ширину и длину экрана и затем затемнять под собой контент. Будет примерно:
.overlay {
position:fixed
width: 100vw;
maxWidth: 100%;
height: 100vh;
background-color: rgba(0, 0, 0, 0.6);
zIndex: 2
}
А потом, поверх него накладывается контент модалки, в общем окно какое-то. По клику на оверлей модалка закрывается.
Ещё не забудь, что когда модалка открывается - ты по идее должен блокировать скролл страницы
пакеты в /node_modules локальной
в package.json зависимости (какие пакеты должны быть в этой /node_modules)
> где именно npm ищет пакеты для установки
На серверах npm наверно. Видит какие у тебя зависимости в package.json и с сервера npm происходит загрузка
Контекст в общем смысле. Что пытаешься сделать, какой результат ожидаешь получить, как пытался пофиксить проблему.
Из инфы уровня "x is undefined" разве только сказать, что андефайнд потому что нету запрашиваемого объекта.
>>2616
Сасс это не какая-то особая от CSS ебанина, отдельно его учить нет смысла.
>>2617
Для такого случая у тебя должен враппер размером со страницу лежать в лэйауте. Но вообще модалы - зло. По сути служат исключительно для раздражения незнающего пользователя, так как знающий просто прибьёт твои модалы в доме.
>>2618
Это конечно круто, что ты в новом файле это сделал, но в реальных проектах будут старые файлы.
Пытаюсь загрузить изображение с сайта на жёсткий диск компьютера
browser.downloads.download({
url : document.images[0],
});
вот это весь мой js по сути. Что здесь не так? Заебался уже
Что за тупые вопросы. Гугли, уёбок.
Только package.json? У меня npm например ругается на невозможность найти какой-то .tgz файл. Откуда он его берет - хрен его знает (это не мой проект, я клонировал удаленный репозитарий себе)
делать два отдельных компонента. будешь ебаться со стилями - рано или поздно проебешься
С одной стороны вроде неплохо, а с другой огромные куски теории на полторы задачки, вчера сделал, сегодня уже забыл. Стоит по нему учиться или есть более годные ресурсы?
>огромные куски теории на полторы задачки, вчера сделал, сегодня уже забыл
Я уже просто js как стих учу, я заебался, кажется другого способа не существует
Говно, ты? Только у сверхлюдей с харкача фотографическая память и никогда ничего не забывается.
>огромные куски теории
Проиграл. Ты хоть книгу любую открой, перед тем как такую чушь говорить.
Пилите прохладные, если вам такое удавалось.
Я первое знаю примерно на 1%, последнее процентов на 20%. Среднее не знаю нихуя. Каким-то чудом нашел удаленку и вообще блядь не понимаю куда я ввязался
Вката на удаленку оче вряд ли возьмут. А за границей возьмут, только если ты уже сеньёр, ну и инглиш отличный.
>примеры приложений и сайтов, которые я собственноручно сделал
Мне кажется это и есть самое главное, что ты можешь показать. Я сделал говноприложуху чуть сложнее тудулиста, меня уже на собесы приглашать начали
>на удаленку оче вряд ли возьмут
Шарагам на удаленке проще кого-то держать, но тут уже и со стабильностью тоже вопросики будут
какой город? я пишу клон твиттера фронт на vue а бекенд на джанге а приглашениями и не пахнет
Старайся сверяться с документацией по возможности, а так, для новичков у Минина неплохой курс, вроде как
>хочется с упорством задрачивать книгу
>чтобы потом на собесе хуем по губам поводили за незнание новых фич
Оу май!
Расскажи, как в твоем представлении в целом возможна такая книга , с описанием всех новых фич, за коорые тебе могут поводить по губам, если книги пишутся ПОСЛЕ того, как новый фичи появляются, а не наоборот.
Ещё расскажи, пожалуйста, почему ты не тупой.
Не бывает таких фич, которые неделю назад добавили, долбоёб.
Все пропозлы проходят путь в несколько лет, и к моменту добавления в спеку ты уже должен их должен знать. А в книжке тебе о них напишут через несколько лет, после добавления в спеку.
Еще раз, расскажи, почему ты не тупой.
Насколько я понял, надо смотреть видеоуроки и повторять за автором, а не книжки читать.
Через книжки программирование усваивается не очень.
Пиздец, и как же раньше учились? Видеоуроки в ходу последние лет пять, потому что зумерки не могут сосредоточиться на тексте.
У меня знания лучше усваиваются через видео + повтор увиденного на практике.
А книжки по проганью...
Ну если ты повторяешь прочитанное ручками - может чему и научишься.
И зачем именно ты учишься повторять?
Скачай буру, очень заебись, у этих говноедов видосы по часу, тяжело сосредоточится очень много инфы, у буры ролик пару минут, все очень понятно и доступно
Юрий бура, вроде в udemi
css.setAttribute('onload', `this.onload=null;this.rel="stylesheet"`);
Но жс считывает строку как plain текст и в html вставляет уже
this.onload=null;this.rel="stylesheet"
Вариант написать название функции и в скрипты вставить - не катит.
нет скриптов не станице вообще, кроме этого инлайн кусочка. Так надо. Но походу жсом не вставить. Руками-то если прописать оно работает
Что ты вообще хочешь сделать? Если нет скриптов, то и жсом ничего не вставишь.
Кроме какого этого инлайн кусочка. Ты setAttribute где вызываешь?
вот и вызови там
el.addEventListener('onload', fn)
я дебил, все работает. Всем спасибо
САП, двач. Скиньте кто плз шпору по typescript. Чтобы в документации не пересматривать всякое, а можно было подсмотреть + для собесов
Нахуя?
Тока начал учиться по видео, в чем суть повторять, если чел на видео сам создаёт программу, а ты ее просто переписываешь
Не просто переписываешь, а осмысленно, я вот когда писал по видосам не писал так как он, а хуярил по своему, если на видео писали на классах я писал на функциях и хуками, не будь мартышкой думай головой когда пишеш
Ну ебать начинать с видосиков это хуевая идея, начни с чтения mdn
Но блять в реакте нихуя не так. На каждый пук по триста библиотек, а если еще и тс сверху ебнуть, то и по два враппера для этих либ. Еще и куча конфигов для реакта, тса, миллионы зависимостей и какой-то package-log.
Пиздец, как вы так пишете? Как ньюфагу вообще разобраться в том, что использовать? Или для таких как я сделали ангуляр? не тыкал в него
Не верю. Кинь скрин
Ты что заливать собрался? Если туду или лендос то похуй, если какое-то приложение серьёзней то тебе нужно почитать доку хостинга, как происходит деплой, как настраиваются env и на хостинге у тебя уже будет лежать продакшен реди код.
>Если туду
Дефайн туду блять. Вот мне кажется, что не туду нихуя, что чуть чуть шлифануть и можно заказчику отдавать (воображаемому пока что), типо есть "реальный" функционал, а не добавить айтем, удалить айтем. Как определить туду или нет?
Давай так. У тебя есть сборка на проекте? Если да, то заливаешь build. Если нет то минифицируй в каком-нибудь сжиматоре, не знаю что сейчас есть, и залей. Никто не будет открывать твой сайт и смотреть говнокод, а вот исходники на гитхабе могут глянуть.
>У тебя есть сборка на проекте?
Да есть, но насколько это целесообразно вообще? Где проходит грань между туду и тем, что уже надо билдить.
я не знаю, решай сам. Мне прощё на новых проектах запустить cli которые мне даст удобный воркфлоу. Если у тебя есть возможность сбилдить проект, к чему вообще вопросы, офк заливай билд.
>Если у тебя есть возможность сбилдить проект, к чему вообще вопросы, офк заливай билд.
А как ХР вообще работает? Сама единолично решает кого на собес звать? Я боюсь, что она чекнет мое резюме, побежит показывать проект, не разберется что еще есть гит, а чел, который будет смотреть уже код скажет "ой блять, тут все минифицировано, наверное код спиздил, ну нахуй, не зови его". Кол-во кадров на рынке вполне позволяет забивать на соискателя хуй.
Смотрит по твоему резюме проходишь ли ты первычный отбор, потом скидывает резюме разработчикам и они уже выбирают кого позвать можно и что посмотреть.
>А как ХР вообще работает?
Запускается загрудкич, переходит в защищеный режим, запускается загрузчик второго уровня, инициализируются обработчики прерываний, подсистемы, менеджер процессов, памяти, драйвера, в конце юзерспейс.
Понятно.
>>3393
А еще есть дохуя прикладного говна типа scss, styled components, ssr, кроссбраузерность, стейт менеджеры, webpack, babel и еще куча разного говна и всё это как бы вообще по дефолту уже подразумевается. И это ты даже еще в бек не полез. Вот это и является главной ловушкой джаваскрипта, что ты можешь долгое время учить веб разработку даже не приступив толком к изучению js
>и какой-то package-log
Сомневаюсь, что у шарпа нет своего пакетного мэнеджера. Без контроля версий пакетов хуй ты что разработаешь в команде больше двух рыл.
А хуле там писать? Авторизация через гугл, бэк на ноде, который только работает с базой по пост\гет запросу с клиента, фронт который представляет из себя свалку сообщений в одном элементе, поле для ввода с минимальной валидацией и кнопку отправить.
Или я где-то не прав?
мне кажется ты сипишь терминами в которых сам еще не до конца разобрался.
Загуглил флэнагана, его книга дефинитив гайд, последнее издание 2020 года... стоит читать или есть лучше книжки?
>Авторизация через гугл
И пользователь не может постить, когда гугл его акк терминирует. Нет уж, каноничный чат подразумевает локальную авторизацию со своей БД пользователей. Гугл максимум можешь использовать как валидатор мыла при регистрации.
>бэк на ноде, который только работает с базой по пост\гет запросу с клиента
Про вебсокет забыл. Или будешь дёргать сервер новым запросом на каждое сообщение? Нода уж точно от этого обосрётся.
>фронт который представляет из себя свалку сообщений в одном элементе
Угу, помню одного такого убийцу твича, чат у которого рано или поздно ронял браузер, так как хранил их всем, постоянно возрастающим, списком.
>поле для ввода с минимальной валидацией
Но на сервере один хуй нужна будет полная валидация.
>И пользователь не может постить, когда гугл его акк терминирует.
Ну и лох, этот пользователь, значит.
>Про вебсокет забыл.
Не забыл, а не знал, теперь знаю, будет что почитать перед сном.
>Угу, помню одного такого убийцу твича, чат у которого рано или поздно ронял браузер, так как хранил их всем, постоянно возрастающим, списком.
Нет, ну я не еблан. Там будет ограничение по сообщениям (штук 300 хватит мб, остальное смотреть в архиве).
>Но на сервере один хуй нужна будет полная валидация.
Я, к сожалению, не ебу, что там надо на сервере, потому что бэком интересовался постольку поскольку.
П.С. Ну какую-нибудь валидацию на сервере я все-таки сделать смогу худо-бедно. Вопрос зачем, если пост не удовлетворяет условиям, то, наверное, он просто не отправится на бэк. Нахуя его второй раз валидировать?
Я имел ввиду именно package-lock.json, а не package.json. Не до конца понял нахуя он нужен и зачем его сохранять в гите.
Гугол говорит, что с ним у разных разработчиков могут быть разные версии зависимостей, но какого хуя? Почему бы просто не указывать точную версию в package.json?
>>3399
Пиздец, и никто не сделал свой мегафреймворк для всего? Чтобы как в шарпе было.
У тебя ниеьический пробел в знаниях, коли ты полагаешь, что на бэк двнные доставить можно только с фронтом и что ты вообще хоть как-то контролируешь то, что теье на бэк приходит.
Не то, что в программировании пробел. А в целом - ты нихуя не понимаешь как устроен, хртя бы, ебучий интернет.
Так ты напиши.
Потом расскажешь, все ли так просто как тебе кажется.
Если бы ты хоть раз писал, не нес бы этой хуйни. Нр если теье нравится теоретезировать, вместо повышения скилла, то на здоровье.
>Ну и лох, этот пользователь, значит.
Лох в эирй ситуации только ты, который забыл, зачем ты, как специалист, вообще в цепочке производства какого-либо продукта нужен. И если ты производишь хуевый продукт, то место твое сам знаешь где.
Сиди и ппописывй сеье скриптики для личного пользования, на здоровье, раз ты политику пон изводства прикоалного по не приемлешь и не понимаешь, что пользователь для тебя царь и бог, а ты червь иипидор.
Ну лан. А в целом по компьютер саенс что можно почитать\посмотреть? А то я рили пещерный, думаю, что под крышкой процессора гномики сидят и биты с байтами передают из рук в руки. Тот самый мемный CS50?
начни с изучения протокла http. от зубов должны остакивать принципы rest и все коды ответов
>Вопрос зачем, если пост не удовлетворяет условиям, то, наверное, он просто не отправится на бэк.
Что мешает запрос в обход браузера отправить? Формочку с нужными полями и методом с эндпоинтом можно на любом сайте сделать и контроллировать жабаскрипт на сторонних сайтах ты не можешь.
>>3484
>Пиздец, и никто не сделал свой мегафреймворк для всего? Чтобы как в шарпе было.
Даже майкрософт бы обосралась делать один мегафреймворк для всего веба.
При этом хочу научиться в редукс. Поясните где мне его там применить можно будет и как.
Редукс тебе с регой не поможет. Максимум в нём будешь хранить токен сессии, который будешь пропукивать в запросы.
Это называется налоги и для этого тебе надо в гос. шаражку идти.
джун делает три дня
мидл сделает за 2 часа
синьер-помидор за 30 мин накидает по своим шаблонам
лид такой хуйней не занимается, и просто пьет кофе весь рабочий день, угарает с челяди и получает больше всех
вот и делай выводы кем быть
Во всём жиэсе так. Библиотека на библиотеке, нахуй.
А если тебе мало библиотеки на библиотеке. то можно на библиотекку, которая на библиотеке накатить патч из гитхаба, но для этого нужно отдельная библиотека patch-package.
И везде документация с var.
непонимаю бугурт, библиотеки делаются чисто под конкретные задачи и логику. Лучше быть спецом в чем то узконаправленном плане - дороже будешь стоить, чем в широком плане, где всего знаешь по чуть чуть.
>непонимаю бугурт,
Отсутствие документации, криво написаный код, пиздец с точки зрения безопасности.
А чем он хорош?
Кривой код уже написан, а потом ещё и растащен в зависимостях десяток библиотек, а те в свою очередь ещё на столько же.
Еблан если ты заучил это не значит понял как работает, такие еблачи обсираются намного чаще при виде лишнего аргумента переданного в функцию, патамушо не учил
Иди нахуй короче
Областью видимости
>Потому что без гугла отличить split/slice или bind/call/apply не могут
Зачем на это отвечать без гугла?
чувак у меня в портфолио 17 проектов - всем похуй. это 10 лет назад ты мог кого-то удивить гитхабом
Хочу в бровзере.
>чувак у меня в портфолио 17 проектов - всем похуй
Когда ты помидор, то возможно. А у джуна, как мне кажется, это показатель, что чел хоть что-то умеет, а не посмотрел видео "стать пограмистом за 20 минут".
Ну хуй знает. В каждой блять второй вакансии "ПОРТФОЛИО ОБЯЗАТЕЛЬНО".
Учитывая, что либы импортируются как модули, вообще однохуйственно как внутри модуля переменные объявлены.
>>3612
Как это должно реализовано? Я правильно размышляю или нет?
при клике купить на итеме ->онклик сохраняет в глобальную переменную редукса(или лучше в локалстор, а уже из него в переменную?) , при клике на корзину ->перекидывает на страницу корзины, которая берет инфу из этой переменной и может изменять ее количество при нажатии на -/+
Вот неправда, у меня один проект на гитхабе, и то мне писали и на собесе пару раз уже говорили, что мы вот у вас посмотрели код и задавали вопрос именно по коду. Может у тебя там тудушки и подобного рода хуета?
да уж не фейсбук
Начни с чего-нибудь попроще, например приложуху, которая бы показывала тебе текущую погоду при вводе города в инпут
Я уже такую делал. Нужно что-то с редуксом.
Вот что у меня сейчас есть:
1)Главная страница- которая рендерит карточки из фаербейс
2)Роуты на карточку, формы реги и логина
return arr1.reduce(
(acc, cur) => (arr2.every((y) => Math.abs(cur - y) > d) ? acc + 1 : acc),
0
);
Почему этот код работает с круглыми скобками? Там же или вообще их не надо, или return {}
7 издание вышло в прошлом году.
На мой взгляд, лучше Дефинитив Гайда книги по жс в природе не существует. Лучше этого описывает язык только спецификация.
Без скобок буде ошибка компиляции, если заменить на {} то придётся добавлять return и количество строк увеличится .
А тебе принципиально нужна книга? Есть видосы где классно поясняется за него
Я это сделал сам, никуда не смотрел, просто взял и написал его и оно работает. Вот регулярное выражение которое я только что написал сам: /[("']+(.+)[)"']+/g
В том то и дело, что не будет то есть
let arr1 = []
let arr2 = []
arr1.reduce(
(acc, cur) => arr2.every((y) => Math.abs(cur - y) > d) ? acc + 1 :acc,
0
);
Нормально работает. И я вообще не оч понимают откуда взялись эти ()
то есть синтаксис (arg)=>(func) - что-то странное. Почему оно работает?
(Math.abs(cur - y) > d ? acc + 1 : acc, 0)
это тоже самое что и:
Math.abs(cur - y) > d ? acc + 1 : acc;
return 0;
С помощью скобок можно объединять несколько строк кода в одну. Это было сделано чтобы обойти не писать return в стрелочной функции.
В этом примере действительно скобки не нужны, но вообще это объединять несколько строк в одну.
>Еблан если ты заучил это не значит понял как работает
Дебил, блять. Если ты заучил весь синтаксис языка, как ты можешь не знать как он работает. Ты даун что ли?
Если ты выучишь каждое отдельное слово в каком-то естественном языке, даст ли тебе это способность на этом языке строить предложения и разговаривать в принципе?
let a = 1
let b = a++
let c = b++
при выводе 2,2,1
let a = 1
let b = ++a
let c = ++b
при выводе 2,3,3
let a = 1
let b = a+1
let c = b+1
при выводе 1,2,3 (как и надо)
Я что-то прихуел с логики
Нет. Какие альтернативы? После styled-components на обычном CSS писать становится отвратительно.
иди нахуй долбоеб
Тут серьёзные дяди сидят, вкатуны 35 лет после смены с завода.
Хули ты приперся сюда со своими конфочками, школьник?
gatsby как вариант вместо next.js
и apollo client мастхев
react, ts, apollo(grpahql) это кор остальное вкусовщина
Ну выучишь еще одну либу то
Чёт вчитался про Electron JS. На хабре чёт у всех пердаки горят от него. Мол веб-макаки охуели, пишут тяжеловесные приложения под ОС. Что думаете об этом?
Discord и Visual Studio Code написаны с использованием Electron, являются одними из лидеров на рынке, поэтому судить нужно по таким показателям, а не "у кого-то пердак горит".
>Тут серьёзные дяди сидят, вкатуны 35 лет после смены с завода.
Чел, мне всего 29. Зачем накидываешь 6 лет?
Лучше редакса ничего не будет.
Всего?
Долбоеб, проснись, тебе тридцатка, полжизни позади, а ты не добился ровеым счетом ничего.
С википелия начни, блядь. Это не шутка, ты чего какой тупой?
Смотрят.
Что значит ничего не добился? Я брал топ50 в одной компьютерной игре. Успешный человек успешен во всем. Так что думаю добьюсь успеха и тут.
Я бы тройку дней заэстимейтил. Часов 12 на работу, еще 4 на авралы и тестирования, еще 8 в запас.
Если в вакууме делать компонент, тогда часов 10 на все про все.
Мне на работе последний месяц приходится писать на вью, после реакта у меня шок с этого поделия, особенно vuex, они ещё потом что-то про бойлераплейт говорят, лол.
Библиотека будущего ?
Заняло бы суммарно часа 2, но потратил бы дня 3-4 ибо апатичный лентяй и меня заебывает долго кодить.
После 3-5 лет на фронте обычно уже похуй на каком фреймворке писать. Все они - суть одно и тоже, с небольшими различиями. Просто приходит осознание этих перделок как инструмента, а не какой-то определяющей характеристики.
Как с машиной - научился водить одну, потом легко сможешь пересесть с механики на автомат, или на грузовик, или даже на мотоцикл там принципы те же. При необходимости можно за пару дней научиться водить болид формулы 1. Не так как профи конечно, что из точки А в точку Б доедешь.
Новичку конечно будет сложно, ему покажется что его из знакомой уютной машинки на автомате пересадили за самолет. Но только потому что опыта мало, он не видит тех похожестей, которые видит сеньор.
Если видишь, что кто-то исходит на говно, доказывая что МОЙ ИНСТРУМЕНТ ЛУЧШЕ ТВОЕГО - с вероятностью 99% это либо неофит, либо человек с болезненно чувствительным эго.
За два часа ты бы даже верстку не закончил, не то что компонент бы сделал.
Если что то и заменит реакт то это будет революция во фронте и фронтэнд в том виде в котором он сейчас просто перестанет существовать, а пока реакт более интуитивен и проще в освоении нежели другие подобные системы
>После 3-5 лет на фронте обычно уже похуй на каком фреймворке писать. Все они - суть одно и тоже, с небольшими различиями.
Мне не похуй. Некоторые фреймворки удобнее, на других я бы писать не стал (хотя и смог бы, конечно). Хотя исходить на говно и что-то там доказывать и правда смысла мало, пусть все пишут на чем хотят.
7 лет опыта
Предпочтения никто не отменял конечно.
Суть в том, что с ростом опыта для тебя не проблема писать на том, что больше подходит, а не на том, что больше нравится.
В то время как большинство споров на эту тему звучат как "Мой любимый инструмент лучше твоего а значит я лучше тебя".
>большинство споров на эту тему звучат как "Мой любимый инструмент...
истинно так.
вообще большинство всех споров.
Новичок сможет, но переваривать всё это будет долго. Книга очень нуб-френдли, и обсуждает каждый концепт с нуля. Это как плюс, так и минус, потому что порой будут обсуждаться самые очевидные вещи, с огромным занудством. Зато после прочтения будешь язык знать лучше чем те кто Кантора дрочит и на этом знакомство с жс заканчивает.
Во-первых посмотри как выглядел код на реакте 5 лет назад и сейчас. Там вообще все другое. Во-вторых тебе без задней мысли могут сказать "Славик, если хочешь, может тебя на другой проект посадить. Там ангуляр/svelte/vue. ЗП х1.5))))"
что за дено?
Кто сказал?
Кто тебе заливал? На ноде ес6 модули от силы год назад в стабильную ветку добавили, так что абсолютно большинство пакетов и кода написано комонЖС.
>>4020
Вот я тоже немного не понимаю, там же одну верстку сделать и то времени много уйдет, пока ты всё это сможешь выровнять и сделать адаптив. А если сам js, у вас со временем уже появляются какие-то наработки, вы используете npm пакеты, или просто от руки бы все это написали за 2-12 часов? У меня много времени уходит на допиливание того, что я делаю изначально. То в мобилке что-то съезжает, то один элемент начинает конфликтовать с другим, вот это всё. Это с опытом придет?
в дополнении к кантору да
Даже The Good Parts ещё актуален.
Ну ты больше слушай тут сеньоров мамкиных. На словах тут тебе инстаграм за два часа напишут. А по факту за два часа даже проект не настроят.
Прокси.
Почему код alert( alert(1) && alert(2) ); отображает 1, а потом undefined?
И и ИЛИ преобразуют значения к логическому типу, но нифига не понятно как вообще преобразуется alert. Сам alert, или его аргумент?
конченый жс, так ?
Сперва отображается вызов `alert(1)`, а потом - вызов `alert(undefined || 2)`.
Во втором так же вызов `alert(1)`, а потом `alert(undefined && alert(2))`.
Учи скоупы чтобы не быть сишником.
>Сам alert, или его аргумент?
Дебил бля, как он тебе преобразует `alert()`, если ты вставляешь результат его вызова?
Убирай # и все
Первый день что ли прогаешь? Пока ты работаешь с кодом, ты - Альфа, ты - Пахан. "Уряяя код нипазваляет мне его лагироавать! Двачик памагииии" Тебе не стыдно?
Передать - undefined, 2ndParameter?
да
Здесь нет никакого эффекта, это вычисляемое поле, вычисляй его на каждом рендере или заверни в useMemo
Я же сказал, что пробовал. Вот что получается, когда я p-* использую. Мб как-то не так делаю, но я не понимаю в чем ошибка. К контейнеру чисто как в примере добавил px-4, строке gx-5, элементу внутри колонки p-5 бахнул.
Да похуй что ты там сказал. В доках написано что можно - значит можно. Пришел со скрином без кода - пошел на хуй.
В смысле, это должно как-то отразиться на производительности или вроде того?
Блять обосрался, вот правильные скрины. Не против, что скринами код кидаю?
> Это пиздец
Я знаю, поэтому и спросил
> как я код со скрина буду копировать
Ну я думал, что там что-то сверхпростое, чисто посмотреть и понять где я ошибся.
Вот верстку выложил https://jsfiddle.net/4puq109x/1/
.col должен быть прямым потомком .row
У тебя тут немношк намешано всего подряд - row и col здесь вроде не нужны, хватит обычного .nav и на .nav-item повесишь .mx-*
Получилось, спасибо!
1. Магии слишком много подкапотной, всякого неявного
2. JSX удобнее и красивее вьюшных шаблонов
3. Vuex с его мутациями и экшнами такой же бойлерплейт, как редакс с его экшнами и редьюсерами
4. С вью нельзя нормально использовать styled-components и аналоги
5. Плохо поддерживает тайпскрипт
6. Сообщество состоит в основном из джунов и недомидлов
7. Работы меньше чем хотелось бы
Ты охуел чтоли тут со своими развернутыми ответами? У нас тут таких не любят.
Точь в точь мои мысли описал.
>Что будет если ты попробуешь
Бля, конечно ничего. Уже пробовал, поэтому и спрашиваю. Это влияет как-то на производительность или может помогает запускать "тяжелые" методы?
Нет
да в экшене ты можешь либо делать запрос к апи и получать данные а потом с этими данными вызвать мутацию либо сразу из компонета вызываешь экшон с payloadом , а в экшоне вызвываешь мутацию
Роботы, iot и автоматизация, моб приложения чётамещё
ты заходи если что
то дефолтное меню не появляется на всех элементах? Боди же в конце всплытия. Какова механика происходящего?
https://jsfiddle.net/1tu0aek7/
боди в конце всплытия, но в начале перехвата.
компоненты вложены один в другой: событие сначала спускается к самому вложенному, а потом начинает всплывать. как-то так.
Ну, написание всякой хрени на ноде считается? Один раз даже ии для одного кубка писал, лол, весьма быстро бегало. А все, что ты перечислил до мобилок - это эмбдед, там или кресты почти без вариантов (если встраивать) или любой язык (если на серве). Кстати вертеть контроль IoT через ноду я бы не отказался, дефолтный интерпретатор питона уж слишком тормознутый, а обратно на всякие кресты для таких вещей я не хочу.
да, но захват при погружении же нужно врубать отдельно, нет?
Любые бытовые скрипты пишу на жс последние лет 10.
имею в виду что бы написать свой бот js с большим обьемом данных
У Vue кста не лучше
>В чем суть кросбраузерной верстки?
Тут скорее вопрос в чём суть вёрстки под IE. В современных браузерах вёрстка более-менее одинаковая.
>Знать всякие нюансы типо как вычисляется размер страницы с учетом скроллбара или нет?
В этом деле браузеры не могут договориться, поэтому `vh`и `vw` высчитываются по-разному между браузерами.
>При верстке добавлять префиксы это уже кроссбраузерно, или еще нет?
Префиксы тебе должен заполнять автопрефиксер, в сырцах это слишком дохуя бойлерплейта.
>Тут скорее вопрос в чём суть вёрстки под IE.
Ну то есть вся суть это знать, как сделать так, чтобы страница сносно работала на каком-нибудь древнем ИЕ?
>В этом деле браузеры не могут договориться, поэтому `vh`и `vw` высчитываются по-разному между браузерами.
Это я в курсе. Сколько еще таких нюансов?
>Префиксы тебе должен заполнять автопрефиксер
Если у меня вместе с вебпаком стоит лоадер ксс этого достаточно? Или нужно еще отдельно ставить какой-то плагин?
Ну то есть получается, что вся кроссбраузерность это такой пук в лужу в 2к21. Какого тогда хуя в каждой второй вакансии наравне с адаптивной версткой спрашивают какие-то проблемы кроссбраузерности? Что я должен буду сказать? "Вот у меня автопрефиксер расставляет префиксы, вот у меня (бабель?) заводит код на IE6." Этого достаточно?
П.С. И какой препроцессор сейчас лучше изучать. Я потратил день на изучение scss, вроде во всем разобрался. Как там все работает, как этой хуйней пользоваться вместе с вебпаком. Насколько это актуально сейчас? Просто есть всякие йобы вроде постКСС и Стайлед Компонент, но в вакухах везде лесс\сасс.
>В современных браузерах вёрстка более-менее одинаковая.
Да если бы блядь. Однажды на моих глазах свежесляпанную страницу, нормально отображавшуюся в хроме, дичайше РАСПИДОРИЛО в IE.
да ты пиздишь просто
ie уже давно многие не поддерживают а edge более менее ок
хуже что страницу может пидорасить в сафари а это говно еще и тестировать без мака тяжело
Это ты тот анон, который пиарил Effector?
Ну то есть на scss все еще верстают? А почему не styled components? Я еще толком не смотрел, но выглядит очень интересно.
Потому что есть лаконичные css modules. да и вообще кто додумался верстку через js генерировать. Для этого css специально придумали
мимо
Расскажи кем работаешь? Чем занимаешься?
>Если у меня вместе с вебпаком стоит лоадер ксс этого достаточно?
Хуй знает что там у тебя установлено, посмотри билдовые .css файлы. Если там ехал префикс через префикс, то у тебя под капотом автопрефиксер стоит.
>Вот у меня автопрефиксер расставляет префиксы
Скорее будешь рассказывать, что не все браузеры поддерживают чистые свойства и для совместимости нужно лепить префиксные свойства, причём в особом порядке.
>>5440
Из всех препроцессоров только SASS ещё более менее живой и пытается фиксить баги совместимости со свежим CSS.
PostCSS - что-то типа главной либы для работы с CSS. Автопрефиксер - один из плагинов для него.
Насчёт либ, встраиваемых в жс код, ничего сказать не могу, так как не перевариваю их и даже от взгляда на их хелловорлды корёжит. Сейчас бы в нынешнем году стили строчками прокидывать за пределами файлов стилей!
>>5462
>в IE
>В современных браузерах
Выбери одно. Уже сама майкрософт отправила его в утиль.
а что ты метапрограммируешь?
думаю, главное понимать, как он работает и уметь поставить необходимые обвесы при случае, ну и канешна уметь с ним работать, хотя хули там уметь, 1 раз попробовал и усё
1. Первый вариант просто вставлять svg как элемент, чтобы можно было изменять его любым образом прямо в компоненте, менять цвета, добавлять классы и все такое.
Проблема в том, что svg path порой бывает очень большой, и хранить такой объем прямо в коде не очень приятно.
2. Второй вариант - держать svg как отдельный компонент, принимать для него пропсы и все такое.
Но не является ли это оверкилом?
Ну и собственно может быть где-то просто хранить сам path в виде отдельногой переменной? Но я пока никак не пойму в каком виде его можно хранить отдельно, чтобы экспортировать только самую сам path, поскольку внутри я его не меняю, там просто хранятся координаты точек. Насколько я понимаю, если у тебя сложный svg из множества path, то его в любом случае придется держать в виде jsx элемента?
Как бы вы сделали?
капец, это же сколько инструментов надо знать! А есть такое, чтоб просто один язык выучил, научился прогать, прорешал все 1-3 кую задачи, сделал себе портфолио и стал программистом? а не ебаться с 5 языками и 5 инструментами
>а не ебаться с 5 инструментами
>5 инструментами
А есть еще typescript, который как бы js, но не совсем. А еще знаешь сколько весёлой ебли у тебя с одной только версткой будет, ммм, а потом ssr, стейт менеджеры, тестирование...
Все выучили, и ты выучишь.
>капец, это же сколько инструментов надо знать
Сложно только пока ты вкатун. Чем больше знаешь - тем легче изучить новый язык или инструмент. Большинство из них осваиваются вообще за один-два вечера.
Это фронтенд и есть. Тут по сути один язык (тупескрипт очень похож), один фреймворк на выбор, инструменты вызывают трудности только первое время. Это не идет ни в какое сравнение с бэкендом, где зачастую надо и жс учить и минимум один язык под бэкенд и кучу смежных технологий, и теорию алгоритмов, и базы данных и хуйню с обменом данных и еще кучу всякой хуйни.
Ну короче говоря превращение html элемента в jsx компонент сильно сказывается на производительности или можно хуй забить на это?
Мань, ты ведь понимаешь что в рантайме нет никакого JSX? JSX это просто сахар для вызова функции React.createElement
Знаю. Вопрос в том, что есть уже готовый сам по себе html элемент, а есть еще jsx разметка, которая принимает в себя пропсы, проверяет их на типа и потом становится снова обычным html элементом. Вот и вопрос, такое преобразование вообще хоть как-то более затрано по производительности чем jsx без вложений или вообще похуй? Т.е. можно вообще не брать в расчет время выполнения отрисовки вложенных компонентов или лучше не делать компоненты многократно вложенными друг в друга?
esprima
Чтобы в зависимости от пропсов задавать стили. Либо через дата атрибуты если на sass
Учитывая, что погромирование - постоянная трансформация между языками, то тебе ещё нужно знать кресты, так как на них написаны все движки жаваскрипта. Плюс все вспомогательные языки этих движков - ассемблер, кофискрипт, раст.
Пропсами ты должен стейт передавать, а не стили.
А есть такое, чтобы ты просто русский язык выучил и сразу стал великим русским писателем?
>Знаю.
Вот что ты, блядь, знаешь? М? Уёба? Что ты "знаешь"? Тебе сказали, что JSX это синтаксический сахар для createElement - ты НИХУЯ не понял из этого, но написал "Знаю". Что ты знаешь?
createElement это метод для DOM, который создаёт указанный нод. Тебе это, понятно, нихуя не говорит. Единственное, что сильно влияет на производительность это метод innerHTML, в JSX он не используется.
И ещё, каким это образом ты вообще собрался писать более-менее сложный JSX без вложений? У тебя даже Context-враппера вокруг твоего говноприложения нет, стейты тасуешь по деревьям пропсов?
Не поверишь, но ts-loader читает значения тсконфига, чтобы их пропукать в вебпак.
Понимаю, Америку открыл, но это так.
>Это тебя в первом посте и спросили.
Лоадеры сами себя не ставят, мы тут не медиумы, чтобы угадывать, что ты там наустанавливал в своём проекте. Пользуй `git blame` и посмотри, когда и откуда тсконфиг взялся.
Придурок тут довольно таки прозрачный вопрос про конфиг и лоадер хули тут медитировать?
Хуйня для детей. Серьезные дяди пишут логику приложухи независимо от фреймворков. Детям нужно на собесах доказывать что они что-то знают, поэтому выпячивают в первую очередь фреймворки, то что легче всего понять. Показать как они архитектуру реализовали они не в состоянии.
>пиздуй читать
Ха что и следовало ожидать, опять пошли маня-маневры. Харк птьфу в твой еблет собака тупая, вопрос был задан хотя бы джунам а не уебанам
Твой вопрос даже для вкатунов не годится, пиздуй дальше всякую хуйню в свой вебпак ставить, а потом с горящей жопой и тупыми вопросами плакаться в этом треде.
Вопрос банально простой про лоадер и конфиг, ебать и только у уебанов полыхнуло
>Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: «что я хочу получить, что я для этого делаю, что я вместо этого получаю».
И это в треде про язык который не предполагает четких формулировок и уж тем более не умеет однозначно интерпритировать код, хаха поржал анон, спасибо!
Сажедебил совсем пригорел. В теле th - заголовок строки.
Так строка или заголовок? Ты хоть что нибудь то можешь сказать не проебавшись?
Знал что jsx-а в рантайме нет, дяденька :(
Но чуть дальше не погружался, спасибо, что все расписал. Двач, здесь все мои друзья
Про контекст и стейт менеджеры я знаю, пользуюсь, практикую, сильно не бейте только
Я никогда не пользовался вебштормом, но вангую, что дело не в нем. Терминал один на всей системе, один. Свой автообновлятор (реакт дев сервер, вебпак дев сервер, нодемон, хз что там у тебя) ты в любом случае запускашь из терминала. Если нет, то запускай из терминала. Хуй его знает, вебшторм это же обычное IDE.
Может дело в браузере по умолчанию?
А у тебя жсон через async await получен?
ПЕРЕКАТ >>1926415 (OP)
ПЕРЕКАТ >>1926415 (OP)
ПЕРЕКАТ >>1926415 (OP)
ПЕРЕКАТ >>1926415 (OP)
ПЕРЕКАТ >>1926415 (OP)
ПЕРЕКАТ >>1926415 (OP)
ПЕРЕКАТ >>1926415 (OP)
для смурфиков которые делают лендинги и интернет-магазины на пыхе. очень актуален
Да, просто выучи язык С, сделай по нему лабы, прочитай K&R, всё теперь ты программист, можешь идти нахуй.
Это копия, сохраненная 4 мая 2021 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.