Вы видите копию треда, сохраненную 7 декабря 2020 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Больше пары строк кода в посте или на скриншоте ведут в Ад.
Для программирования на HTML https://jsfiddle.net/
Для Node.js с консолькой https://repl.it/languages/nodejs
Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: что я хочу получить, что я для этого делаю, что я вместо этого получаю. Если когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
Руководство для вката:
https://pastebin.com/9yRADC0s
Голова твоя хуита. В 2020 никто такие анимации как slideToggle на js не делает.
>>24910
Допустим есть два блока, один над другим, внутри первого есть слайд - жмёшь на блок, слайд раскрывается - что происходит со вторым блоком? Слайд перекрывает второй блок? - вполне вероятно, что всех это устроит меня вот устраивает, а если нет? Пропишешь высоту в css? - как?захардкодишь? Так себе вариант. Задашь максимальную высоту? - задержка будет. Или есть какая-то css магия, которую я не смог нагуглить?
Слайд, блок, один над другим, внутри первого. Пиши понятно, хуесос. Нет ничего такого в том, чтобы вручную прописать свойство ксс через жаваскрипт.
Не понял, чего ты хочешь, чтобы когда верхний блок был скрыт - нижний приезжал на его место, или чтобы нижний блок оставлся на своем месте, даже если верхний скрыт?
Шо то хуйня потому что зачем? шо другое. Во втором варианте очевидная задержка есть, о которой я уже писал.
https://codepen.io/jorgemaiden/pen/YgGZMg - вот как должно быть и как есть в slideToggle, который в жквери.
>>24935
хочу чтоб как по ссылке было, но чтобы код был на пару строк, а не в том виде, в котором он есть. Вот думал, что может кто-то что-то подскажет
Допустим у меня есть форма из трёх полей. Как лучше с такой работать? Использовать useState для каждого поля отдельно или сделать объект, который имеет свойство под каждое поле?
Моет там имелось ввиду rgba?
Вообще в css возможно только hex, rgb, rgba, hsl, hsla
Вот их и делай.
Не ебу как и почему, но оно работает и работает как надо
Кого убрать? Ресурсы? Запросы? Печеньки?
никогда не понимал, как люди умеют настолько талантливо непонятно формулировать вопросы, просто пиздец.
Печеньки из запросов.
просто похоже у тебя проблемы с пониманием. Я вот понял вопрос, хоть и не ебу, как его решить. Проблема в тебе
Смотришь через что делаются запросы (xmlhttprequest/fetch и т.п.), перед загрузкой страницы (с помощью tampermonkey) переназначаешь их, добавляя каждому значению withCredentials = false в случае с xmlhttprequest либо его аналог у других.
Через редюсер.
Что скажете про книгу "Джс для детей" и хедферст?
Или лучше начать с нуля с learn.javascript.ru?
В программировании не шарю от слова совсем. Было дело год назад на пыхе писал (максимально минимально), короче ооп не знаю. Сейчас есть огромнейшее желание поесть говна программистского.
Единственное, чего боюсь - джс как первый ЯП. Говорят многие это очень плохо.
Короче, расскажите плиз если буду учить джс по книгам 14, 15, 16, 17 и т.д годов - это очень плохо? Про стандартизацию слышал, но не шарю. Если буду учиться на ES6 или ES5, то проблем на ES7 не будет проблем перейти? (не знаю, какой щас последний ес)
Сори за такие тупорылые вопросы.
Есть вот такой, но он криво работает: github.com/casesandberg/react-color
>learn.javascript.ru?
Норм, но может быть сложно.
>Короче, расскажите плиз если буду учить джс по книгам 14, 15, 16, 17 и т.д годов - это очень плохо?
Забей на книги. Зачем учить устаревшую ерунду? В сети много хороших курсов (в основном на английском).
>Единственное, чего боюсь - джс как первый ЯП. Говорят многие это очень плохо.
Ничего плохого.
>Если буду учиться на ES6 или ES5, то проблем на ES7 не будет проблем перейти?
ES6 был огромный майлстоуном, дальше уже не такие большие изменения пошли. Текущая версия — ES 2019. Но в реальном коде все работает не совсем так, там идет разграничение по фичам, а не по годам. Плюс можно (и нужно!) подключать фичи, которых еще нет в стандарте.
Короче, на ES5 точно забей. Если видишь в коде учебника var, то это устаревшее говно, если let/const, то жить можно.
Спасибо, друг!
style guide
В любом проекте, где ты будешь писат не один, тебя нахуй пошлют с твоим сней кезом.
Ага) Еще в начале имени переменной ставь префикс ее тип - i_user_age, s_user_name - бля буду еще удобне и понятнее))
>Так же гораздо легче читать потому что между словами стоят пробелы
А в верблюжьем кейсе разделением выступают заглавные.
username, weakmap, lowercase, leftpad, padleft, getid
Так изобилие абстрактых фабрик и прочего паттерн-говна, то и есть хуевая практика.
Ты слишком дохуя думаешь. Просто без задней мысли берешь и читаешь книгу.
В шапке жирным написано "Руководство для вката". Оно не устарело. Да, там есть книги 2-3 летней давности. В этом нет ничего страшного.
Начни с ЖС для детей, она норм. Если через две-три недели ты не забьешь хуй на вкат, придешь сюда, тебе расскажут куда дальше идти.
var array = Array(count).keys()
console.log(array)
В консоли [object Array Iterator]
А если сделать так
var count = 7
var array = [...Array(count).keys()]
console.log(array)
То в консоли [0,1,2,3,4,5,6]
Почему так происходит? Про spread знаю, но не понимаю как он тут работает
А спред чтобы старые элементы не проебались, я знаю. Но почему в первом случае в консольке [object Array Iterator] а не [6]?
Спред для того чтобы итерировать. А не [6] потому что .keys() возвращает итератор.
Оказывается я имел ложное представление о спред. Вот что случается когда не доки читаешь а по гайдикам на ютубе все делаешь. Спасибо
Это один из вариантов. А зачем тебе? Если без него у тебя что-то ломается, то ты скорее всего что-то не так делаешь.
Ты будешь писать снейк кейсом, а все либы используют кемел кейс. Будет каша.
https://www.youtube.com/watch?v=gb7gMluAeao&list=PLcvhF2Wqh7DNVy1OCUpG3i5lyxyBWhGZ8
) курсе? Кроме того, что он говно, а автор мудак ничего не понимающий.
на кой хуй тратить время на это говно, если есть мануал на оф. странице? Тем более эта кринжевая заставка - после первых секунд рука непроизвольно притягивается к лицу для facepalm. Курс для перхоти и пидарасов. Короче для тебя пойдет.
на связи типичный вкатывальщик - начинал с верстки, потом ванильный жс и теперь вот я типо реакт девелопер
на работе особо не заебывают, поэтому я сначала написал небольшой фулстак с node и graphql, потом стал упарывать нейтив, сейчас доделываю мини-клон инсты на нем
тема с приложухами мне прям нравится и хочу вкатиться в разработку ios прилжух, поэтому думаю начать изучать swift
как считаете норм идея, легко будет после жс разобраться в нем, или может вообще забить и поискать работку как нейтив разработчик?
просто чет не уверен что нейтив прям часто юзают для приложух, или я не прав?
Я прочитал документацию и понял, что не понял продвинутые техники, что мне нужна практика. А тут всякие людишки сами выкладывают ролики с задачами и решением.
еще есть классная бесплатная книга:
eloquentjavascript.net
Там не только про синтаксис языка, но и про программирование в целом. На русском есть на рутрекере.
Чмоки
Спасибо анончик.
Пикрелейтед 1 - по какой-то непонятной причине он 2 раза делает ререндер до изменения стэйта ( зачем? ведь стэйт не изменился). Затем пикрелейтед 2, все он знает что стэйт изменился, все эффектов никаких уже нет. Однако происходит еще ререндер пикрелейтед 3.
как ты определяешь ререндеры? инби4 console.log внутри компонента
поставь реакт девтулзы, чтобы нормально отслеживать рендеры и видеть их причину хоть и размыто
console.log и debugger
Не забывай, что в React.StrictMode все рендеры вызываются два раза чтобы отловить левые сайд-эффекты.
хм, походу и в этом был косяк , на редуксе не было стрикт мода. Позже уберу и протесчу. Спасибо
Читаешь, решаешь, пишешь. И так каждый день. Через сколько-то лет задрочишь. Волшебного способа нет.
По сути тест на валидность для будущего concurrent mode: https://reactjs.org/docs/strict-mode.html
Что значит "задачка на жс"? Ты работаешь на реакте, не понимая ванильный жс? Тебе норм?
Прост тоже вкатываюсь в жс, читаю Кантора/делаю задания потихоньку, хотел начать параллельно изучать реакт, но на офсайте увидел, что нужно вот эту тему знать, чтоб было норм:
https://developer.mozilla.org/ru/docs/Web/JavaScript/A_re-introduction_to_JavaScript
В итоге сейчас дрочу ванильный жс, может ну его нахуй, как думаете, аноны?
проверил, да, дополнительные ререндеры были из-за этого строго режима
То что у тебя в ссылке элементарная хуйня которая читается за один вечер.
Ванильный жс я понимаю, но не знаю его хорошо, я могу писать на нем, но не пишу хорошо.
Кто-нибудь объясните мне что происходит на вебмке, кроме того что чел совершенно нихуя не понимает?
никогда кроме алертов в JS не писал, сижу на проекте и пишу код на React JS. Дышу нормально
Читается !== понимается. Я тоже могу прочитать
https://learn.javascript.ru/array-methods
вот это за час, но вот задания ты будешь дня два делать.
>>26159
Спасибо за пояснение.
Ну тут как раз нет, лол, в реакте много работы с массивами и в них я шарю. Пробежался глазами ничего сложного нет.
Мне, как начинающему, достаточно сложно это вот всё.
https://learn.javascript.ru/array#tasks
Вот тут задачу на сумму введённых числе колупал джва дня, в итоге скипнул нахуй, потому что не все условия получилось реализовать (не было проверки на символ при вводе, так что получалось NaN).
Так-то понятно, что он сделал по итогу, но сам не дошёл. Зато пишешь-пишешь-пишешь и в итоге запоминается синтаксис, ящитаю - это плюс.
Ну это мне кажется все делается для того чтобы пощикотать себе мозги. Я тоже как то сидел 3 дня и не мог решить задачу, думал думал, в итоге хуй забил, сейчас уже пишу на реакте, вернулся недавно к той самой задаче - хуй, все так же решить не могу. Это понадобится позже, когда захочется выйти на уровень синиора 300к, по крайней мере так мне кажется
Нет, дрочить то можно, пока дрочишь ты становишься умнее, и так больной найденное решение запомнится надолго, просто вопрос в том сколько у тебя времени, если есть год - пожалуйста, если времени нет, то лучше заняться чем нибудь прикладным. В конечном итоге на собеседовании я читал блог одной херочки смотрят прежде всего на твои рассуждения, а помнить наизусть все 10 методов работы с массивами и их синтаксис не обязательно, ты же на работе точно так же можешь гуглить. Просто нужно показать свои способности к рассуждению. Да и задача может быть а может и не быть, а вот вопросы по теории точно будут и их будет много.
В общих чертах да. https://habr.com/ru/post/486820/
https://www.guru99.com/javascript-interview-questions-answers.html
Вот примеры вопросов, это далеко не все, на каждый вопрос может быть задан последующий, с попыткой копнуть поглубже, ну и так далее.
Это собственно только джс, по реакту вопросы немного другого плана идут, про общие принципы работы фреймворка, почему он работает так, зачем нужны те или иные библиотеки и как работают они.
Большое спасибо! Схоронил.
Собеседование в яндекс.
Тебе в /wrk/
Конечно фигма бля, оставь фотожопу для макета барбершопа.
прокринжевался
<div class="title" id="title">
Мы продаем только технику Apple
</div>
.textContent
Во всех других браузерах после отправки всё ок, только этот выёбывается.
Спасибо, сейчас буду разбираться.
Не особо шарю, но это же условный оператор, нет? Типа складываем строку с подстрокой, либо с пустой строкой. Обратные кавычки дают использовать ${...}.
Ууууф, нельзя так, он же маленький еще.
Не уверен, что понял тебя. Я имею ввиду, что, например, 'test ' + var1 - это то же самое, что `test ${var1}`. Насколько я понимаю. Правильно же?
Есть. Условие таково - или ты сосешь мне хуй, или я тебе.
console
И чего? Ну стриггерю я событие на изменение вьюпорта, а как я определю сколько сейчас во вьюпорте элеиентов видно?
> jQuery
Конечно читай, очень современная книга, самый современный фреймворк же, не видишь что ли?
С помощью Intrsectipn API ты можешь отслеживать элементы, которые в данный момент находятся во вьюпорте.
Братишка, я понимаю где хранятся данные, мой вопрос был как хуки узнают кто их вызывает при ре-рендере компонента
>я понимаю где хранятся данные
Если понимаешь, то чё спрашиваешь?
1. Функции хранят в себе данные в зависимости от вызова.
2. Компонент вызывает тот же хук при каждом ререндере.
3. ???
4. ВЫГОДА.
Лэйбл фор (айди инпута) - кликнул по нему, сфокусировался на инпуте. Ещё всякие анимации можно делать с лэйблом вместо плейсхолдера
В жсе. Если б я лучше представлял, что нужно сделать, сказал бы подробнее, может быть
Да просто чтобы не было лишних ререндеров. Зачем всех чилдренов ререндерить, если изменился только родитель?
Что ты пытаешься сделать? Если засабмитить форму с использованием жс, то подключи к сабмиту формы скрипт, чтобы он срабатывал вместо того, что по умолчанию, а там уже через ajax, если хочешь, чтобы у тебя состояние инпутов конрлолилось через жс, то тебе нужен атрибут value у тэга input и onChange на этом же инпуте.
>то инстанс этого хука регистрируется как принадлежащий конкретному компоненту,
Разве у хуков есть инстансы? Я вот это объяснение нашел:
https://stackoverflow.com/questions/53729917/react-hooks-whats-happening-under-the-hood
>React hook makes use of hidden state of a component, it's stored inside a fiber, a fiber is an entity that corresponds to component instance (in a broader sense, because functional components don't create instances as class components).
>It's React renderer that gives a hook the access to respective context, state, etc. and incidentally, it's React renderer that calls component function. So it can associate component instance with hook functions that are called inside of component function.
В принципе ответ на свой вопрос я получил, компонент и хук связывает ReactDOM, а очередность важна только внутри компонента. осталось понять кто этот ваш fiber такой
Рендер очень быстрый. Не надо заниматься оптимизациями пока это не влияет на реальную производительность.
Нет, ты все правильно делаешь.
У тебя нормальная карта, не самодельное говно? Обычно у карты можно взять bounds вьюпорта, у bounds скорее всего есть contains(lng, lat), ну и суёшь свои точки в него. Если метода нет, можешь turfjs поиспользовать
У тебя браузер автодополннние в поле пишет штоле? Попробуй autocomplete=“off”
Добрый день, мистер программист.
1. Заводишь переменную "let stchetsheequeTocheck = 0".
2. На звездочки вешаешь обработчик, который смотрит во вьюпорте она или нет и добавляет/отнимает единичку от переменной.
3. Поздравляем, вы великолепны.
литкод
https://docs.google.com/document/d/1_WvwHl7BXUPmoiSeD8G83JmS8ypsTPqed4Btkqkn_-4
Корпорация Зла со своей мерзкой типизацией вставляет палки в колёса писателям швободного софта.
В фф норм, какой-то баг хрома?
Зависит от проекта. В некоторых крупных тебя заставят писать большинство компонентов классами, кроме глупых мб. Но если ты соло пишешь и тебе нравится на функциях, всё норм.
Легаси-говно.
16.3.1
<div id="action-panel-details" class="action-panel-content yt-uix-expander yt-card yt-card-has-padding yt-uix-expander-collapsed">
Мне нужно создать букмарклет, который всего лишь удалит yt-uix-expander-collapsed из кода. Это возможно?
document.querySelectorAll('.yt-uix-expander-collapsed').forEach(i => i.classList.remove('yt-uix-expander-collapsed'))
Прочекал через object.keys. там ключи 20 и 30 появляются. Да, это баг хрома.
Анонче, бывают вакансии для JS разабов без React или чтобы устроиться придётся черпать это говно ложкой?
Большое спасибо бро, век не забуду. Я сам не кодер и в JS вообще не смыслю. Гуманитарий я в общем. Спасибо еще раз.
Там же где и все — hh.ru
Как правило, event
>БЛЯТЬ ГДЕ ВАКАНСИИ БЕЗ ЕБУЧЕГО REACT. ЗАЕБАЛИ, НЕ ХОЧУ Я ЭТО ФУЙСБУКОВСКОЕ ГОВНО ОСВАИВАТЬ
Кабанчиков проблемы макак не ебут, им же ведь хочется на ОСТРИЕ ВЫСОКИХ ТЕХНОЛОГИЙ почуять себя.
Кстати посматриваю сайт DNS через реактовский профайлер и чем больше он интегрируетсся в реакт, тем сильнее сайт тормозит и становится неудобным в целом. То, что раньше требовало ховера, теперь требует клика, в списке сравнений нельзя убрать продукт, не листая в самый верх страницы. Зато углы теперь круглее, да.
На другом сайте с членодевками так и вообще дев билд засунули.
>>28588
Если для вызова, то переменную "e" скармливают функции. Если для описания, то может хоть что обозначать.
Да, вот я про то же. Когда ещё был популярен jQuery я ходин на собесы и говорил, что то, что вы решаете jQuery уже умеют 95% браузеров. Меня не слушали. Пок-пок, а как же IE6, Пек-кек, а как же Netscape 0.1. И где jQuery сейчас?
Сейчас в топе React, но он популярен только потому, что его делала лицокнига и массово его распиарила, боясь проебать рынок Angular-у от гоголя. Я утверждаю, что React не решает заявленных проблем а создаёт новые. Ещё пару лет назад были исследования, что сайты на React дольше грузятся и требуют больше времени до первого отображения элемента. Как известно, каждые 0.1сек мы теряем 1% пользователей. У простеньких страниц на реакте на средних телефонах время отображения элементов > 2сек, лол.
Тот же VirtualDOM синтетичен. Он даёт выигрыш, когда мы меняем множеству элементов много CSS свойств. На практике это очень редкая задача и грамотный код на чистом JS работает быстрее.
Архитектура, как и терминология - ужастны. Как всегда, взяли и поломали всю терминологию. Вместо фрикаделек у насм митболы, понимаете ли. Вьюшки зачем-то назвали компонентами, контроллеры - экшенами, а модель стейтом. У нас не MVC, у нас MVVM нахуй, кек.
Плюс к этому, я давно пишу код. Видел много фреймворков на других технологиях - JAVA, Flash. И видел к чему это приводит в итоге. А приводит к тому, что все переболевают гонкой фреймворков и пишут каждый, как ему удобно. Кто на фреймворках, кто на чистом коде, кто с либами, кто без. Сейчас этап незрелой гонки за новомодными технологиями и мне это очень не нравится. Мне нравится JS + TypeScript, как язык, и обидно, что на нём так мало вакансий, где ценится скурпулёзное внимание к деталям UI и реально бысрный интерфейс.
Сорян, проебался с правописанием. После недели плотного кодинга внимательности, вообще, ноль.
>Вьюшки зачем-то назвали компонентами, контроллеры - экшенами, а модель стейтом. У нас не MVC, у нас MVVM нахуй, кек
Ну это же не так, а во-вторых, если абстрагироваться еще сильнее, то весь фронт - это перекладывание жсона с бэкенда на дивы и из инпутов обратно на бэкенд. А также существует только два типа приложений, чатики(вы находитесь здесь) и туду листы.
Реакт решает одну задачу - нарисовать дивы без ебли с домом а на самом деле сэкономить время/деньги на разработку, а то что работает медленее - так это компромиссы, где их нет уже звучит как стокгольмский синдром?
>грамотный код
Так то это все хорошо, но иногда рабочее приложение лучше хорошого, но несуществующего
Проблема: если сначала нарисовать тонкую линию, а потом толстую, то тонкая изменяет свою толщину. Есть предположение, что новая линия так же рисуется поверх старой. С чем может быть связано?
На профессионала в JS не претендую, я просто развлекаюсь и учусь.
не шарю за js, чекни eloquent javascript последнего издания. там было такой пример и дз к нему, мб подсобит
Спасибо, ознакомлюсь.
Но их значение же сбрасывается в undefined.
>Жесть код
Usus magister est optimus. Надо же как то учиться.
Point - ссылка(поправь, если я не правильно сказал) на мой canvas.
Первая иконка - карандаш
Вторая - кисть
И буду благодарен, если подскажешь как определять положение мыши только в canvas, а то мне приходится из координат вычитать внеканвасное пространство.
https://codepen.io/DanSjaoPin/pen/ZEQLdBL
В твоем случае проблема в том, что ты не вызываешь point.beginPath() в начале paint и из-за этого все твое художество считается одним путем.
Но есть и большая проблема — архитектурная. В твоем коде логика добавления новых путей намертво прибита к отрисовке. Это хренево по ряду причин. Например, ты не можешь сохранить свой рисунок (кроме как картинкой) или сделать undo. Поэтому первым делом тебе нужно это распилить. Сделай абстрактное состояние рисунка, например так: const picture = { strokes: [{ from, to, width }] }. Когда что-то рисуешь — добавляешь в strokes новый штрих. Можно сразу хранить историю состояний, но для этого надо немного подкачаться в иммутабельности чтобы не делать deep copy каждый раз. Но в это на будущее.
Второе — сделай функцию draw, которая берет это состояние и рисует. Состоянию должно быть насрать как его рисуют — домом, через свг, на канвасе, через webgl или как-то еще. Допустим, берем канвас. Каждый раз при вызове функции мы очищаем его и рисуем все с нуля.
Теперь у тебя логика разбита на два понятных слоя. При перемещении мыши ты добавляешь новый стоук и вызываешь draw(). Дебажить тоже станет сильно проще.
Еще по мелочи:
— Не используй var
— Сделай переменную tool и записывай туда выбранный инструмент, не будет кучи лишней логики в choice
— Названия переменных довольно хреновые. Вот point это что вообще? Почему 2d-контекст стал ТОЧКОЙ? choice -> selectTool
— Добавляй листенеры через JS
>И буду благодарен, если подскажешь как определять положение мыши только в canvas, а то мне приходится из координат вычитать внеканвасное пространство.
По-моему простого способа это сделать нет.
Тот анон забыл добавить, что тебе имеет смысл написать это через es6 класс. Просто сделай класс Paint, перекинь в свойства все глобальные переменные (this.activeTool = 'pencil' и тд), а в методы функции. Также тебе имеет смысл отказаться от id селектора и выбирать элементы через querySelector, вместо if использовать switch то есть
switch (this.activeTool) {
case "brush":
width = 1488;
break;
case "pencil":
width = 1;
break;
default:
width = 0;
}
point.lineWidth = width;
вместо
if (brush == true) {
document.getElementById("brush").src = "files/icons/brushon.svg";
}
if (brush == false) {
document.getElementById("brush").src = "files/icons/brush.svg";
}
лучше сделай класс brush--active и включай икончу через него. Это самое основное. Код на самом деле просто пиздец для года погромирования. Это не чтобы как-то обидить. Все с подобного начинали, но если хочешь стать успешным и получать 300к в секунду, имеет больше заниматься. Удачи!
Чому же «забыл»? Я больше по функциональщине и думаю что классы плохая затея в принципе. Можно обернуть все в IIFE, но это приложение такое маленькое, что и так ок в общем-то.
>Можно обернуть все в IIFE, но это приложение такое маленькое, что и так ок в общем-то
Тут от целей зависит. Если для себя кодить - можно хоть jquery подключить. Но раз человек учится на погромиста - он скорее всего хочет им потом работать, соответвенно имеет смысл сразу начинать делать все "правильно" тк переучиваться в разы сложнее.
Плюсую. Функции гораздо лучше, быстрее, понятнее и не запутывают людей, о чем в доке реакта прямо и говорится
Спасибо.
>Код на самом деле просто пиздец для года погромирования.
Это я понимаю, сам JS мы учили пол года и исключительно основы. Самое "сложное" на лабах было построить график функции или перетащить картинку. Это просто не основная наша дисциплина.
На юдеми введи "server side rendering with react and redux". Если нищерс там 30 дневный возврат денег
Разве он не делает код более читаемым?
https://vc.ru/dev/73512-umerla-li-biblioteka-jquery
При чём тут вообще реакт? Реакт это же веб-компоненты вроде
Понимаю.
Он жрет мало оперативки и не нагривает проц как сковородку. Потому и плох, современная страница должна заставить крутиться все кулера на полную мощь.
Ооп надёжная вещь. Но очень консервативная. Функциональщиной можно сумасшедшие вещи творить. Но нужно быть осторожным чтобы ноги не отстрелить себе
Мне нужно сделать табличку в Bootstrap, но после каждого элемента мне нужно сделать выпадающий блок. Есть идеи как можно это сделать?
Я решил попробовать сделать такую вот костыльную хуйню как на пикрил, но получаются наезды на следующую строку если блок свёрнут.
Хз где ещё этот вопрос можно задать, потому задаю тут.
цикл обрабатывается на сервере, Flask.
Причем прикол такой что какой бы блок я не пытался скрыть/открыть, скрывается и открывается при этом именно лишь первый.
Возможно ли в css свойству top присвоить процентное значение ШИРИНЫ родительского элемента?
#some-element {
top: 60% of width (если просто написать 60%, то будет считаться от высоты)
}
Через жс посчитай.
На самом деле можешь поставить margin-top: 60%, он то как раз считается от ширины родителя, лол.
>>29309
Вопрос в догонку.
Имеется реакт-компонент 800 на 600. Все элементы внутри размещены через жопу css absolute. Нужно, чтобы этот компонент "растягивался" по ширине экрана.
Возможно ли как-нибудь промасштабировать его содержимое, чтобы не изменять координаты дочерних элементов с пикселей на проценты?
Если нет, то как лучше внутри js получать ширину компонента? document.getElementById(#some-element) на первом рендеринге вернёт undefined, если вызывался не внутри useEffect
Ну можешь transform scale на комопонент поставить, но это все костыли. Перепиши все на flex/grid.
getElementById в реакте не нужен, используй рефы для доступа к элементам, или специализированные хуки типа https://streamich.github.io/react-use/?path=/story/sensors-usesize--docs
https://pastebin.com/QfukFNeb
Когда тот же метод находиться в выделенной функции, а внутри компонента - все работает. Хотя по чек поинтам смотрел - обращение идет, но значение не возвращает. Как пофиксить эту хуйню? Спасибо
Откуда ты там мыло собрался получать, если в компоненте нету пропсов и кормишь функции ты переменную "мыло", а не пропс? Хочешь значение мыло.мыло получить?
Я могу это сделать через строку, но по мне так это полный пиздец. И загуглить не получается. Везде статьи про дроби.
наверное ты хотел сказать parseInt(x/10), но в любом случае спасибо! Я уже забыл с кучей этих новомодных штучек про parseInt
Под это есть немного другая магия, комрад
х.toFixed(2) , где 2 - число знаков после запятой. Единственное - в большую сторону.
бампану что ли.
Ну или попрошу направить в более подходящий тред (я ретард, сам не нашёл)
Извините что серю тут у вас
display none если свернуто к card-body?
Великовозрастные закостенелые говноеды вот как это объясняется
поднимите первые буквы слов в строке в заглавные, используя while или for.
Уже догадался как сделать вынюхиватель пробелов в строке, но чё-то никак не получается нужным буквам присвоить новое значение.
Калокод прикладываю.
Чел достаточно в Гугле ввести js first и дальше он тебе сам все подскажет. Как ты собрался пронером стать если элементарную вещь не можешь нагуглить
Строки в JS не мутабельны, ты не можешь менять символы обращаясь к ним по индексу. Сделай новую строку.
Типизация тут никакого отношения к деструктурирующему присваиванию не имеет.
Ты кидаешь свойство пропса в функцию, а она ожидает пропс объект, чтобы из него свойство вытащить.
Я сделал кароч, без функций, как в гуглответах. Запилил цикл, записывающий новую строку по букве с ветвлением.
Красавчик бро! Продолжай дальше
Почему на вебм этого шиза так долго мусолят? Там же даже не надо смотреть на смысл той хуйни что он пишет, достаточно посмотреть на внешний вид, это же пиздец, человек-вебпак.
Или мем про то, что это уровень Яндекса? А то я не дальше минуты с хуем пролистал.
Занимаюсь разраоткой в области, не связанной с вебом. Юзаю скалу, питон, яву.
Хочу научиться делать сайтики для общего развития, думаю сделать чат или имиджборду.
Поясните за архитектуру, есть какие то гайды по тому, как сделать более менее современную архитектуру такого проекта?
Бек хочу сделать на яве чтобы потрнеировать спринг, на фронте хочу реакт, потому что везде вижу это слово и оно меня раздражает.
Насколько это жизнеспособно, какие базы сейчас в топе для сайтиков? Прикручивать докер, нужно ли настраивать томкат? Вот это все.
Удаление успешно выполненной записи при фейле второй - нормально или пердольно?
Для реакта нет какой-то единой устоявшейся архитектуры. Она зависит от того, где ты будешь хранить стейт своего приложения и как работать с бэком. Довольно типично разделение на:
— components: кнопочки, текст, инпуты и другие ui-штуки не содержащие бизнес-логики
— pages/screens: собсна страницы и их части, отличаются тем, что имеют свои роуты
— store/modules/etc: стор с состоянием приложения и методами работы с ним. Обычно это redux/mobx. Не знает ничего про реакт, если не на useReducer сделан. Слой с бизнес-логикой короче.
— utils: свалка утилит, форматтеров, хуков и тому подобного.
Ключевое решение которое нужно принять — где хранить данные. Если приложение мелкое, то я бы начал с useReducer в контексте и жил бы с ним пока этого хватает.
Второе ключевое решение — как работать сайд-эффектами, в частности к запросами к серверу. Можно написать свою хук типа usePromise, но это не так-то просто, так что советую начать с react-async.
Стартуй с create-react-app. Можешь и тайпскрипт сразу навернуть, с бэком с джаве должно понравится.
>какие базы сейчас в топе для сайтиков
Постгрес норм. Старый и надежный.
Есть, но до этого поста я не в курсе был что это. Спасибо
для работы с сайд-эффектами при использовании редакса очень удобно юзать саги, если проект маленький, то можешь посмотреть redux-thunk.
Вообще совет - выполнять запросы и получать вне реакта. Многие получают данные в useEffect, а потом записывают в редакс. Этот подоход проще, но если тебе понадобится потом мобилку на ReactNative (RN) написать, придется там тоже все это реализоывавать. Если все это будет в редакс + сага, то для RN останется только экраны сверстать, а всю логику можешь перенести из своей вебаппы. Еще лучше монорепу сделать для своего стет менеджмента.
Ну вкатывальщики разные бывают. Я например докер даже потрогал, потому что без этого думал на работу не возьмут, а есть люди приходят, которые даже цикл нормальный написать не могут.
Посмотеть стоит, но не надо фанатаично изучать.
Потрать денек, напиши пару саг.
Просто если будешь изучать все технологии что на слуху, никогда не вкатишься. Я так почти два года вкатывался.
Уровень конечно был у меня выше чем у других вкатывальщиков, но ЗП увы такая же)
Думаю лучше вкатится пораньше, и понять на практике что реально надо, чем сидеть дома и изучать все подряд с мыслями "а вдруг спросят"
Я тоже думаю, что я прав, но ...
Меня сократили 2 месяца назад из-за короны, и я сижу дома и думаю что ничего не знаю) Снова как будто стал вкатывальщиком) Думаю какой пет проект запилить что бы удивить работодателя, хотя у самого два года опыта.
Это я к тому, что все равно будут мысли что ты ничего не знаешь, даже когда уже вкатишься.
>Это я к тому, что все равно будут мысли что ты ничего не знаешь
Это синдром самозванца, внушаемый тебе бездушной корпоративной айти-машиной.
И да, меня тоже уволили с галеры пару месяцев назад - давно такой радости не испытывал. Отработал там полгода и вообще не заходило никак.
Сейчас кайфую, думаю найти что то интересное в айти и попробовать работать удаленно, назад в рабское стойло совсем не хочется. Или мб сменить профессию.
>>29804-анон.
Хуясе, я думал кодеры легче всего пандемию перенесли. Ну с опытом 2 года думаю не проблема
>Ну с опытом 2 года думаю не проблема
C профессиональной точки зрения - не проблема. Это чисто психологическая хуйня.
>Хуясе, я думал кодеры легче всего пандемию перенесли.
У нас бизнес был завяазан на клиентах, которых сильно подкосила корона просто - акционеры процентов 40 штата урезали.
Сейчас себя пытаюсь заставить сделать какой нибудь петпроджект, Ракт + РеактНейтив (C нормальной архитектурой) + Бэк на ноде, CI/CD. Но чет идей нет
А тебе это для фронта или для сервера?
Хотя в любом случае, если ты спрашиваешь, то будет проблемно. Для этого поюзай сначала готовые решения, пойми как они работают, а там уже разберешься, на сколько тебе это реально интересно. Просто опенсорсные проекты имеют большое комьюнити, и я сомневаюсь что ты сможешь сделать достойный аналог, а если и сможешь, надо ли тебе это, если есть готовое?
А ты пользовался экспрессом?
Если да, то по аналогии можешь сделать (я бы не стал)
Если нет, то сначала попробуй его, посмотри как он работает
Ну возьми коа, если за судьбу экспресса переживаешь
let value = {x: 1, y: 2};
arr.push(value);
Как добавить в arr ещё один ассоциированный массив, чтобы он скопировал value, но изменил значения, чтобы в итоге получилось:
arr = [
{x: 1, y: 2},
{x: 2, y: 5}
]
Изменить value как мне надо и запушить я не могу, потому что value жесткая точка от которой должны вычисляться остальные значения массивов.
Заранее спасибо!
Юзаю Visual Code Studio если что, но в консоле винды таже ерунда.
А куда ты его вставляешь?
https://devblogs.microsoft.com/powershell/colorized-capture-of-console-screen-in-html-and-rtf/
Тебе в /s/, лол
Да куда только не пробовал, от ворда до нотпада++. Цвета тупо нет нигде.
За ссыль спасибо щас буду пытаться разобраться, но выглядит чет пиздетски страшно, надеюсь я не слишком тупой для такого. А еще это похоже на вторую часть статьи, вот только первая часть NOT FOUND. Весело короче.
Как-будто ты не знаешь что в /s/ с таким вопросом меня обратно сюда отправят
Если ворд может принимать цвета, то насчет н++ я не уверен но я им и не пользовался особо
У тебя исходники скрипта то есть? Можно же просто дописать слегка(или много) чтобы он сохранял в том формате, в котором тебе нужно, с теми цветами, которые тебе нужны.
Если нет исходников - ну можно попробовать написать утилитку, которая будет парсить свой инпут и опять же сохранять в нужном формате. В эту утилитку папишь оутпут из твоего скрипта
Цвета это анси коды, которые применяет терминал, схуяли им копироваться? Можно доставать сырой вывод и уже самому оформлять тогда.
Гитхаб есть, но мне реально будет проще написать скрипт автоматически раскрашивающий ники, чем разбираться в ней. В любом случае оставляю эти варианты на крайний случай, если не получится копировать с консоли. Не знал что это такая проблема. Даже удивительно как то
>проблема
Легко только английский ascii текст читать - все остальное лучше чтобы приходило с метаданными
На курсхантере есть. премиумный правда, но месяц там 4 бакса, так что можно пережить.
Бутстраповский нативный аккордеон пробовал?
https://getbootstrap.com/docs/4.3/components/collapse/
Лук это не всегда овощ. А вот ты всегда долбоеб.
Если бы там был string, то у тайпскрипта не было бы претензий.
в условие не входит переменная errorLoad. При обработки переменная равна false, но выше есть функция, которая при ошибки загрузки файла выдаёт errorLoad true. Получается, что код исполняется быстрее, чем блять обрабатывается. Вот и пролёт получается
нраииится. И переменные, как в SASS можно юзать. А как этот фреймворк в плане секса актуальности и использования в продакшене?
>нраииится. И переменные, как в SASS можно юзать. А как этот фреймворк в плане секса актуальности и использования в продакшене?
Ну какбе тебе сказать, эта фишка, про которую ты сейчас прочитал, как раз из тех самых модных и актуальных фреймворков (Vue, React).
300x168, 0:07
Вроде попробовал - все заебись, но дальше пошла глина ака `style` и я вспомнил, почему решил писать бэкенд. Спасибо за спазмы желудка
import { Grid } from '@material-ui/core';
import {useSelector, useDispatch} from 'react-redux'
import {fetchCategories} from './redux/actions/categoriesActions'
function App() {
const {loading} = useSelector(state=>state.categories)
const categories = useSelector(state=>state.categories.categories)
const dispatch = useDispatch()
useEffect(()=> {
dispatch(fetchCategories())
},[])
if (loading && !categories.length) {
return (
<div>Loading...</div>
)
}
return (
<div className="App">
<ul>
{categories.map(category=> {
category.map(el=> {
return <li>{el.name}</li>
})
})}
</ul>
</div>
);
}
export default App;
Почему li не рендерится? Если el законсолитьлогить то все норм. li именно не рендерется - нету точки от его дефолтного list style и в консоли разработчика только ul пустой
import { Grid } from '@material-ui/core';
import {useSelector, useDispatch} from 'react-redux'
import {fetchCategories} from './redux/actions/categoriesActions'
function App() {
const {loading} = useSelector(state=>state.categories)
const categories = useSelector(state=>state.categories.categories)
const dispatch = useDispatch()
useEffect(()=> {
dispatch(fetchCategories())
},[])
if (loading && !categories.length) {
return (
<div>Loading...</div>
)
}
return (
<div className="App">
<ul>
{categories.map(category=> {
category.map(el=> {
return <li>{el.name}</li>
})
})}
</ul>
</div>
);
}
export default App;
Почему li не рендерится? Если el законсолитьлогить то все норм. li именно не рендерется - нету точки от его дефолтного list style и в консоли разработчика только ul пустой
Получается. От нас то ты чего хочешь? Чтобы мы гадать начали что у тебя там выше по коду делается?
Это пиздос. Зачем ты в реакт лезешь, если еще даже с основанми js не разобрался? Гугли чем отличаются объекты от примитивов в js, зачем нужен key в реакте и как работать с асинхронными функциями в редукс.
Так сделай через промис. Тип сначала может выдать ошибку загрузки, а потом функция ее обрабатывает. Изи же
ООП незаменимо для гигантских проектов, до которых 99% фронтендеров и не дойдут никогда.
ты мне по сути предлагаешь написать обработчик ошибок для обработчика ошибок? Как бы это смешно не звучало, но придётся делать обработчик ошибок для обработчика ошибок.
Ты сука ебаная я знаю все это
export const fetchCategories = () => async dispatch => {
await dispatch(setLoadingTrue())
const data = await fetch('http://localhost:5000/api/categories', {
method: 'GET',
headers: {
'Content-Type': 'application/json'
}
}).then(data=>data.json())
dispatch(categoriesLoaded(data))
return data
}
Говно ты ебаное у меня не с редаксом проблемы а с тем что ебаный li не рендерится.
console..log(el)
Результат
words: [{…}]
_id: "5ef05bad58a19b2762927687"
name: "A"
__v: 1
Почему блять console.log(el.name) работает а return (<li>{el.name}</li>) не работает? Раз это тупой вопрос, ответь на него за быстро и решительно или твоя мать умрет
Реакт даже в консольку не пукает по поводу отсутствия key у li
{categories.map(category => {
return <li>{category[0].name}</li>
})}
А это нет
{categories.map(category=> {
category.map(el=> {
return (<li key={el._id}>{el}</li>)
})
})}
В чем дело?
{categories.map(category => {
return category.map(el=> {
return <li>{el.name}</li>
})
})}
<div class="eebAO puCyQ h_uhZ">exampletext1</div>
<div class="eebAO puCyQ h_uhZ">exampletext2</div>
<div class="eebAO puCyQ h_uhZ">exampletext3</div>
Через JS команду:
document.querySelectorAll('.eebAO.puCyQ.h_uhZ')
Я могу найти все эти элементы.
Через JS команды:
x.classList.remove
x.classList.Add
Я могу изменить значения.
Я через что я мог бы добраться до текста exampletext и изменить его? Найти по имени класса, но менять эти значения после, а класс не трогать?
document.querySelector(".2ch").innerHTML=1488
Учись пользоваться гуглом. Это быстрее чем на дваче ждать советов.
Подскажите, плиз, по материал-дизайну (vue(-tify).
Можно ли как-то заставить переехать v-tab в v-toolbar?
Если просто переношу, то вкладки корёжит: сжимаются влево и выводят содержимое не на всю страницу.
https://pastebin.com/nsUymuwf
Еще можешь бэкэнд изучить и БД. Потом реакт нэтив. Вдруг тебе на работе потребуется или на собесе спросят
>да это я тупой
Ну так жалуйся, что тебя ОСКОРБЛЯЮТ по интеллектуальному признаку и либа должна стать ещё тупее.
Лучше дайте ему четыре кофе, сегодня работаем до до допоздна, пока проект не сдадим!
Да я нуб просто, поэтому словами описать легче чем загуглить, тем более я даже не знаю как называется эта строка, я знаю элемент div, class, header. А вот то что между теми скобками так и не смог обозвать (paragraph?), поэтому сложновато гуглить то что и назвать то не можешь.
Спасибо за медвежью услугу, в общем. Это не сарказм.
> arr.push({...value, {x: 2, y : 5}}
Я хочу чтобы было
arr.push(value);
arr.push({x: arr[0].x + 1, y: arr[0]. y + 3})
Но я не могу обратиться к arr[0]
Ну дядь, ты чего. Идешь на MDN, смотришь что возвращает querySelector выясняешь что Element, смотришь его API, находишь там нужный проп, используешь. Даже гуглить ничего не надо, тупо чтение доков.
Могу, спасибо. Уже не помню, наверное ключи забыл проставить
Спасибо за полезный совет, в следующий раз так и сделаю. Я просто поконкретнее свою ситуацию поясню, я и не собирался язык JS учить, отсюда и такие глупые вопросы, мне просто один раз написать bookmarklet для автоматизации одного действия в Instagram и все (не нашел нужного расширения). Для этого не обязательно тратить кучу времени на изучения языка, как и не нужно тратить время на изучения языка для просмотра одного единственного фильма, если хочешь его посмотреть, лучше поискать версию в переводе. Поэтому я и решил не заморачиваться и спросить один из элементов моей будущей закладки здесь. Сэкономив и силы и время, но учитывая как здесь на подобные вопросы реагируют, пожалуй лучше просить о помощи в других местах. А так у меня уже есть профессия, гуманитарная, никак не связанная с кодерством и осваивать новую, я пока не собираюсь.
Забашляй ты 3к или сколько они там просят, если проект реально коммерческий, а не "сделай мне фейсбук, оплачу 10% с будущей прибыли".
Так то у них дохуя всего прикручено - и ЦМС и платежи.
Аналогия с фильмом у тебя не совсем правильная.
Правильнее будет, тебе надо ПЕРЕВЕСТИ один фильм, а не посмотреть. Посмотреть можно и без знаний, если найдешь в переводе. Перевести - хуй там, все равно придется что-то почитать.
Пробовал, на изображении он и есть ведь
> по всей длине ничего не выступает
Все разы, когда я думал также - что-то выступало, просто неочевидным образом. Либо инспектором по всему пройдись если ещё не. По внутренним элементам тоже, посмотри, есть ли что-то абсолютно спозиционированное за экраном, обрати внимание на очень большой текст - у него ебанутые отступы иногда. А если делать на похуй - оверфлоу хидден на боди и всё, но ты так и не поймёшь, в чем была причина.
Пробовал скопировать элемент, удалить его там, где он был, а потом вставить, куда надо? если после этого всё едет - смотрел стили, может добавить что-то надо и проблем не будет? Я так недавно блоки местами менял, потому что компоненты битрикса неочень.
Объясните стейт в реакт компоненте. Дойдя до редакса, я вынес стейт реакта в стейт редакса, но мне кажется что стейт, отвечающий например за значение инпутов, не нужно выносить в стейт редакса, а оставить в реакте, и менять его через setState?
> Дрочу уже 3 неделю для фронта и уже плачу
Почему так? Сколько в день учишь, что непонятно? Вообще подход упаднический слишком.
В день в среднем 6 часов уделяю. Всё в целом понятно и сами таски относительно легко даются. Просто даже хз, хочется чего-то большего чем сайтов, мб конечно как полезу в фреймворки станет повеселее, но сейчас тоска сплошная.
> мб конечно как полезу в фреймворки станет повеселее
Не станет, меняй сферу - нетвоё. Гейдев вряд-ли хорошее решение - мобильную гриндопарашу делать скорее всего не интереснее, чем сайты.
> 6 часов
Слишком дохуя. Угомонись
>Не станет
Ну пиздос
>меняй сферу
Какие-нибудь советы? Я ж кроме компов нихуя не умею))0 В какой ещё язык можно быстро и надолго вкатить?
>Слишком дохуя
Ну бля, это конечно не всё на жс. То основы погромирования учил, сейчас алгоритмизация. Плюсом всякие дрокатоны смотрю, как другие пишут. Ну и практика офк.
> Какие-нибудь советы?
Никаких - мне только веб и интересен.
> Ну бля, это конечно не всё на жс. То основы погромирования учил, сейчас алгоритмизация. Плюсом всякие дрокатоны смотрю, как другие пишут. Ну и практика офк.
Я когда вкатывался, не каждый день и 2 часа уделял, были недели, когда я ни строчки куда не написал. 2 часа это оптимальное время учёбы в день
b != undefined ? b : a
чет орнул
А просто посмотреть-обосрать?
>2 часа
Я бы с удовольствием именно столько и уделял бы. Но уже сейчас денег хуйма а мне ещё учить и учить чтобы хотя бы за еду устроиться поРАБотать.
Иди тогда уже работу ищи, если верстать умеешь - во всякие небольшие веб студии могут взять. Тем более говоришь всё понятно, что изучаешь.
Думаешь со знанием HTML, CSS и минимально-средним JS есть смысл пробовать? Ну могу подтянуть сюда ещё SQL, хотя я думаю это никому нахуй не нужно будет от версталы.
Да, смысл есть - я например примерно с такими же знаниями устроился кем-то вроде верстальщика, а на работе гораздо легче учиться, тк направление развития более очевидно.
На etxt, выходит пятнаха, но пашу как черт. Но тут главное, что дома работаю и работа однообразная, не грузит мозги, если бы приходилось куда-то ездить и забивать голову, то после рабочего дня тяжело садиться еще что-то учить.
С разморозкой.
Map это Object.
А тебя это ебать не должно.
b ? b : a;
A Map does not contain any keys by default. It only contains what is explicitly put into it.
A Map's keys can be any value (including functions, objects, or any primitive).
The keys in Map are ordered. Thus, when iterating over it, a Map object returns keys in order of insertion.
The number of items in a Map is easily retrieved from its size property.
A Map is an iterable, so it can be directly iterated.
Performs better in scenarios involving frequent additions and removals of key-value pairs.
Это такой западный мем. Любая члендовевка или гермафродит может научиться в 2+2 на жс и стать ололо-активистом опенсорса, сам жс при этом не нужен.
Была смешная история, как какой-то смуззихлеб в америке нашел негра-бомжа, типа обучал его жс и тот сделал какой-то говноапп, остальные смуззихлебы напокупали его что-то на 20к и это было обьявлено победой айти. Сам негр так и остался на улице, не помню, что там дальше было.
Вот это всё в таком ключе.
Макакена-формошлепа на реакте.
То что на ректнейтиве можно иметь зпшку 6000-7000$ и что спрос на жс-разрабов огромный. Всё это ввиду вредности для мозга работы жс-разрабом и огромном количестве долоёбов, которые в него вкатываются, но нихуя при этом не знают и не умеют.
Имеется в виду Node.js
Это ж две стороны одной медали
Извиняюсь за вопрос, но мб кто то в теме и может дать общий ответ (если да, то какие инструменты лучше использовать?).
Скоро нужно будет готовить дипломную работу в шараге. Вот хотел узнать, можно ли выполнить задачу при помощи js и его библиотек?
Короч, нужно будет создать приложение, где по входным данным должна строится фигура или чертеж объекта. Одежда, например.
То есть, вводим в формочки какие то данные (стандартные замеры), оно предлагает подходящий размер и по этому размеру рисует контуры.
Эту задачу можно реализовать на js?
>Эту задачу можно реализовать на js?
Да, через https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API , но нужно знать синтаксис языка.
>>32392
У TS есть хоть какое-то подобие статической типизации, это уже большой плюс.
У TS больше выбор из библиотек и фреймворков, чем у пыхи и петухона, он быстрее развивается.
На TS ты можешь писать фронт, т. е. у тебя бек и фронт программисты пишут на одном языке.
В остальном это 3 сорта говна, которое проигрывает более мощным и типизированным Java/C#
Это слова Алана Кея. Куда уж ему до тебя.
>дипломную работу в шараге
>То есть, вводим в формочки какие то данные (стандартные замеры), оно предлагает подходящий размер и по этому размеру рисует контуры.
В голос. Это же делается за 15 минут в ленивом режиме.
Тем, что разрабы изначально отказались от стратегии app platform и перешли к app framework, как следствие, любая мелкая утилита тазит за собой целый электрон и поднимает полностью новый инсианс, хотя ихначпльно в планах было сделать по уму, чтлбы инсианс электрона был один, и прилодения просто получали песочницы в виде рендер процессов с нужными апи. Такой браузер для приложений.
Короче говоря, электрон можно исползовать тольтко если ты пилишь что-то весомое, аля vscode или дискорд, ну или хотя бы скайп.
Если ты тащишь этектрон чтобы запилить image viewer или мп3 плеер, или чего хуже, завернуть свой мега блодик в него, то ты мудак.
>>32515
Добавлю, что в 99% случаев, когда ты думаешь, что тебе нужен электрон, он тебе не нужен и можно обойтись
1. Просто веб-прилодением в браузере / pwa
2. Расширегием для браузера
3. Если ну очень сильно нужна интеграция в систему, достаточно демона сервера, с интерфейсом все в том же браузере.
Ну и еще, дело не в гиге оперативы. А в том, что каждый рнстанс электрона на старте в систнме жрет в районе 120-150 мб. То есть сам электрон, без твоего приложения. Накинь сюда езе мегабайт 300-500 уже в процессе раьоты твоего кода. Для сравнения вкладкаа в браузере пустая жрет примерно 30 мб. Теперь прикинь, что таких приложений на электроне в системе десяток и все они хотят работать одновременно. Уверен, что твой апп настл
ько полезен, что нужны такие жертвы и ему нет альтернативы в виде веб-сайта/расширения?
Короче, электрон это пушка, заебись вещь сириусли, но те кто стреляет из нее по воробьям идиоты. При этом даже больше компании умудряются написать ниебический говнокод, что пользоватбся невозможно - слак.
ну и если это важно, у нас на электроне работает вся внутренняя корпоративная система, которая суть соцсеточеи работников, таймтрекера, багрекера, почты, crm, органайзера и еще овердохуя чего.
Тебе кажется.
Запили нативное приложение, по минимальному функционалу аналогичное простой веб страничке, хотя бы вот с этим тредом, сохранив дизайн двоща и его векторность, адаптивность, масштаьирование и коробки навигация клавиатурой, и посиотри сколько оно у тебя будет жрать.
import App from './components/app/app.js' так работает,
import App from './components/app' так нет, если не указать app.js, сразу выдает ошибку.
>если app.js переименуешь в index.js, должно работать
да спасиб разобрался, default импортит index видимо
разве не с б-жьей благодати это динамически типизированное конское говно набрало такой популярности?
о всеми любимом JS-е. Но ты в правильном направлении начал копротивление, так что не включал бы дурака
typeof NaN = number
or
(!+[]+[]+![]).length = 9
Как то да, сложновато. Работа с JS это что то на уровне общения с животным после общения с человеком (другими ЯП, если не поймешь, чтобы не плодить посты)
Боевая картинка уровня b, конечно. Непонятно чем автора не устроил результат typeof NaN, Math.max() и Math.min(). А уж пример с 0.1+0.2 сразу выдает профнепригодность разработчика.
Остально — не более чем результат перегрузки + и приведения типов.
>>уровня b
уровня pr/js
Я конечно на JS-е пишу (не по своей воле) но язык - создан не для людей явно. Динамически типизированные языки имеют ряд алгоритмов, которые подчиняются логике. JS и логика - это антонимы. Не даром это язык верстальщиков и подобным им
480x360, 3:07
Флоаты лучше?
А кто должен верстать по-твоему, лол? Какой ты фронтенд без этого?
>>только сюда с улицы реально
ты уверен?
По сабжу - в нормальных галерах есть верстальщики. Если у вас верстальщиков нет, то могу поздравить - это ты.
На жс ещё и бекенд пишут так-то
А если серьёзно - какой максимум можно загребать на этой гэбне и с дополнением каких технологий и фреймвороков?
('b'+'a'+ +'a'+'a').toLowerCase() == 'banana
Вот эта жирная хуебта пытается букву а перевести в целочисленное, жабаскрипт в ахуе и возвращает NaN ну и лоукейс.
Тебе же говорили, что лучше на трассу.
Это только начало. Дальше еще больше будешь охуевать
как первый ЯП брать js - полнейшая хуета. Обычно он приходит как N+1, там на такую хуйню смотрят с недопониманием, но в связи с безальтернативностью просто опускают
И во что вкатывать тогда если бабки нужно уже сейчас? Все до одного ебут мозг тем, что питон (и со.) неактуален работу хуй найдёшь и вся хуйня.
Можно подумать, что это единственная вещь, раздражающая во фронт-енде. Бацк-енд - вот мой выбор.
Отдельные верстальщики это нихуя не заебись. Это значит что дизайнеры и разработчики в компании не справились с созданием ui-кита или что работа состоит из дохуилиона лендингов. Я вообще слабо представляю что делать с продуктом версталы — то еще удовольствие натягивать разбивать его потом на компоненты, делать все переиспользуемым, натягивать на styled-components и т.п.
ты же в курсе что версталы могут сами разбивать на компоненты? или по твоему в 2к20 норм тема - хуярить монолит в один ксс файл?
уважаю твой выбор, тоже перекатываюсь
Чтобы "бабки прямо сейчас" уже никуда. Ушла эпоха. Ты либо учишь Java/#C/другой похожий язык долгое время и, если повезет, устраиваешься. Либо учишь php/js, пополняешь очередь из миллиарда вкатышей и, если повезет, устраиваешься. Быстро в айти не вкатиться.
С пыхи слышал пытались на питон+го переписывать
>любой другой профессии
>работаешь 20 лет на заводе, через 20 лет получаешь ту же зп, что и 20 лет назад.
Други, хелпаните, а. Сам я не фронтендер, но походу тут работа именно для фронта
Поставил в форму кастомные слайдеры-чекбоксы из Бутстрапа, раньше это были обычные чекбоксы и рендерились на серве... Короче: юзер проставляет определенные чекбоксы, ждем submit и данные с выборами отправляются на серв, где сохраняются в БД. Затем при последующих посещениях этой страницы она уже прогружается с заранее отмеченными флажками. То есть если я отмечу Libre и Immersive, а Medium и Real нет, то при заходе на странице месяц спустя увижу ту же картину с отмеченными Libre и Immersive
Раньше все подгружалось нормально, но когда я поменял оформление при загрузке все чекбоксы "неактивные" (на самом деле нет, данные сохранились, просто юзер этого не видит). Как сделать, чтобы нужные чекбоксы стали активными?
Это обычная форма на ul/li:
<form action="/" method='post'>
<ul class="list-group list-group-flush">
<li class="list-group-item">Libre
<label class="switch">
<input id={{x.id_for_label}} name={{x.data.name}} value={{x.data.value}} type="checkbox" class="primary">
<span class="slider round"></span></label></li>
</ul>
<button name="submit">Submit</button>
</form>
Раньше чем через год-полтора, при условии лютого задротства, ты даже 1к долларов не будешь полчать ТК сейчас без нормального знания фреймворков ты никому не нужен. Если нужны бабки прямо сейчас - иди на стройку. Можешь еще попробовать в php и wordpress. Там на еду сможешь месяцев через 6 зарабатывать. Охуительные истории типо "вкатился за 3 месяца" были актуальны лет 10 назад. Можешь посты в середине треда глянуть. Люди после после года учебы в ВУЗе начинают самые базовые вещи понимать.
Для этого им надо знать кодовую базу, соблюдать общие с другими разработчиками договоренности и т.д. А тогда непонятно чем они собсна от разработчиков отличаются.
>или по твоему в 2к20 норм тема - хуярить монолит в один ксс файл?
Я пишу про styled-components, переиспользование кода и разбивку на компоненты, ты из этого почему-то делаешь вывод что я предлагаю монолит и весь css в одном файле. Где тут логика вообще? Как ты смог прийти к таким заключениям?
> Я пишу про styled-components, переиспользование кода и разбивку на компоненты, ты из этого почему-то делаешь вывод что я предлагаю монолит и весь css в одном файле. Где тут логика вообще? Как ты смог прийти к таким заключениям?
По-моему ты его не понял.
>идёшь в цех к Петровичам
>общаешься со всеми, за руку здороваешься, раскуриваешь обстановку
>вместо изучения очередного фреймворкнейм узнаешь о коллег о директорской дочке, подкатываешь
>внезапно ты самый молодой начальник отдела с 300кк в наносек
>Но зачем? Почему не инпут тайп сабмит или <а>?
И правда норм. Сейчас бы через ссылку формы отправлять.
> директорской дочке
мань директора завода гречневики видят только издалека и если он заходит в цех, все прячутся по углам, что бы не выебали
>В 27 у тебя проблемы со: спиной, лёгкими, сердцем и ЖКТ.
>В 30 у тебя не стоит.
>В 35 когда каждая вторая блядь гребёт твою годовую зп в тиктоке ты один сидишь на кухне и пьёшь жигулёвское лимитед сериес.
Пытаюсь создать объект (var объект = {}), описываю ему свойства, методы. У него есть метод, который должен исполняться с определённым интервалом. Я назначаю этот интервал в другом его методе, который вызывается извне. В методе, которые исполняется с интервалами, пытаюсь вызвать this.метод(), но возникает ошибка "это не метод". Также пытаюсь for (e of this.массив) {}, но возникает ошибка "this.массив undefinied", хотя когда я обращаюсь к объект.массив извне - он существует и реально содержит нужный мне массив. В чём проблема? В setInterval()? Или метод класса не может обращаться к соседним методам того же класса? Бред какой-то... Не хочу отдельную функцию накручивать только из-за этого.
А всё, разобрался, нужно было анонимный метод использовать:
setInterval(function() { объект.метод(); }
Извините, просто я уже думал, что в JS нельзя обращаться к другим методам, запаниковал.
>Но зачем
Вообще похуй. У меня в реале и форма более массивная. Я лишь пример привел, по факту данные через <a> передаются
Сразу видно человека, который за пределами ойти жизни не видал.
Если раньше ни на чём не программировал, то тебе рано ещё это понимать.
мне показалось или ты действительно считаешь, что лутать простатит к 30, артроз шейного отдела, минус 100 зрения к 30 годам из-за сидячего пиздеца лучше?
а посыл тебе понятен? представь на секунду что ты потратил столько же усилий сколько и на вкат в другую область, допустим в то чем ты всю жизнь ДЕЙСТВИТЕЛЬНО отел заниматься
В списке процессов видишь свой vscose.exe? Вот это и есть электрон.
Нода в электроне это не отдельный процесс, а библиотека встроенная в хромиум.
Электрон запускает.
Рано теье еще в разработку. Тебе бы подучить как компьютер устроен в целом.
>>32972
Я один ещё до вката и начала офисного сидячего образа жизни имел остеохондроз грудного отдела второй степени и определённо ещё что-то с шеей? В 20 лет заработал. Что со мной к 30 будет? Не сильно болит конечно, но всегда фоном есть напоминание об этой хуйне - когда обезболивающее по какой-то причине выпиваю, такое блаженство накатывает...
Т.е. получается, в каждое электрон-приложение вшивается движок жс. И если я открою десять приложений на электроне, у меня запустится десять движков жс. Вопрос: нахуя так сделано?
Потому что все ленились устанавливать джаву и десктоп на ней умер. ЖС решили не наступать на грабли. А для сишарп предустанавливается дутнет в виндовс.
А тебя это ебать не должно.
Движок ЖС это V8, который работает в таких браузерах как хром и опера. Электрон это и есть тот самый браузер Chromium, который он использует для UI.
>Вопрос: нахуя так сделано?
Чтобы твоё приложение можно было запустить на любом компьютере, независимо от архитектуры процессора и операционной системы.
> ДЕЙСТВИТЕЛЬНО
Ты наверное прав, но айти выглядит не так страшно, как например на 30 лвл вкатываются с нуля в написание музыки или образование получать.
Примерно со времен brackets shell, потом nw.js, потом уже electron. Года с 2013го где-то.
Что ты блядь несшь? Что куда вшивается? Электрон - это хром браузер сука. У тебя в браузере есть v8. Это жс двидок, его не надо вшивать. Нода это v8 без браузеоа, но с пробросом системных апи. Электрон, это симбиоз ноды и браузера. Теперь лля тебя новость, что на каждый апп у тебя новый инсианс элеутрона, сука, теюе аять лет, или айкью 80? На лаоре 2020й, ты кто ты откуда дебил, википедию хотя бы открой мудила.
Читай бляжь выше тред, там чувак сегодня уже все расписал по поводу электрона подробна
Откуда столько мужаеов и ленивых уебков пищдец, что вы забыли в профессии.
Сейчас будет оффтоп немного, тогда каким хуем интерфейсы на gtk и qt без сторонних предустановленных либ работают?
А, то есть у меня в винде должна стоять мокрописька для них, чтобы они могли запускаться?
А вот смотри: допустим если бы можно было компилить десктопные джава-приложухи в какой-нибудь экзешник, который при установке просто скачивал бы джаву, если ее еще нет, и предлагал установить ее. Такой вариант невозможен?
Ну вот просто установщик app.exe который бы все как надо делал, иконку там на рабочий стол, а при запуске просто бы запускал приложуху на джаве.
Так они компилируются в нативный код под каждую платформу отдельно, не?
Это следует сказать тебе, потому что я отвечал на твой вопоос мне.
Я сказал что нода встроена в хромиум в контексте вскода. Ты спросил с каких пора нода встрлена в хромиум. Я тебе, дегенерату, и обьяснил с каких пор.
Я сократил. И так еле попадаю по клавишам в телефоне, ббесят пидлорасы.
Совместимостью с чем? Сейчас все дизайнеры сразу в ней ебошат.
С тем, что нода встроена в хромиум, потому что это не так и я понятия не имею откуда вы это взяли.
Это так в контексте электрона и ему подобных платформ. Тебе уже обьяснили это неоднократно.
Ты дебил или кто. Тебе говопят про такие вещи как электрон, нв.жс и брекетс шелл. При чем тут твой хром мудак.
Нет, это не так ни в каком контексте. Нода есть в электроне, но это не значит что она встроена в хромиум. Если для вас это правда одно и то же... ну что же, беда с логикой тогда.
> - в vs code нода встроена в хромиум
> - с каких пор нода встроена в хромиум?
> - со времен brakets shell
> - читай на вопрос на который отвечаешь
> - я читаю, и потому отвечаю. в электроне нода встроена в хромиум
> - это не так
> - это так
> -дакажите, у вот у меня хром..
с кем я сижу на одной борде.
Мне кажется это хуево понимаешь и не только, что такое хромиу, а еще и что происходит вокруг.
Ого.
То есть, v8 не является частью Chromium Embedded Framework, а электро не основан на Chromium Embedded Framework в котором v8 пропатчена нодой. Так?
Не вижу противоречий. v8 является и частью ноды и частью хромиума. Электрон склеен из них обоих. Это как-то делает ноду частью хромиума?
Ты за веткой-то вообще следишь. Изначальный пост был о том, что нода встроена в хромиум в контексте электрона. v8 это компонент хромиума. нода - это v8 + libuv + набор системных api. Электрон это хромиум, в котором обычная хромиумская v8 заменена нодовской. Так что да, в контексте электрона зода - это часть хромиума, так же как вне контекста v8 это его часть. Если пойти дальше, то в nw.js вообще используется не CEF а сам Chromium. и так интеграция еще более грязная.
Чем же CSharp нормален по-твоему? И каковы вообще критерии нормальности. Кто их устанавливает?
Потому что вкатываться только ради денег не имеет смысла ни в какую сферу. Если тебя эта сфера и процессы в ней тяготят, то ты не только не увидишь того самого бабла, ради которого вкатывался, но еще и будешь повсеместно страдать.
Я вот исключительный самоучка, и наслушан о том, как хуево у нас везде учат программировать, но, за 20 лет практики и наблюдения боли вкатывальщиков, я понял то, что учить программированию нужно с обучения чтения мануалов. То есть, еще до того, как человек напишет свои print 2 + 2 он должен научиться открывать справочник, и научиться делать это всегда.
Так что, ВУЗы, как бы их не хаяли, в итоге учат-то тому самому - способности учиться самостоятельно. Только делают они это предельно хуево, словно это какой-то дзен буддизм , когда ученик не должен осознавать смысла процесса, а просто делать. Мне кажется это работает не так.
согласен абсолютно, вот только немалое число сидящих здесь анонов страдают когнитивными искажениями, выдавая желаемое за действительное, придумывает себе мантры что у них "аналитический склад ума" и вообще в школе по информатике шарил, если бы не ксик на компухтерах, точно бы 5 получил. Это всё выльется по итогу в то что ты описал, потому что обманывали сами себя, впрочем, они всё равно останутся глухи и не поверят чужому опыту.
Все так. А аналитический склад ума херво коррелирует с прикладной областью. Человек может быть дохуя аналитиком, но ему будет абсолютно тошнотворно анализировать ситуацию на фондовом рынке, например. То же самое, например, со способностью в математику и прочее. Это все доп бонусы, которые непременно являются плюсом в определенных сферах, но никак не характеризуют то, что человек расположен к чему-то прикладному конкретному. Если брать программирование, то так как это инженерная сфера, то тут нужно тяготить скорее к конструкторским навыкам, а потому должно быть одинаково интересно правильно раскидать лэйаут в интерфейсе или запилить хитрый rpc между сервисами. Успешные програмисты это скорее хакеры (в изначальном смысле слова), которым интересно что как работатет и почему оно работает именно так. Они не возмущаются на каждом шагу, а одержимы изучением и именно поэтому им все легко. В противном же случае специализация превращается в рутину, и что самое печальное, что именно таких большинство сейчас, повсееместно ноющих о том, как все везде не так. Казалось бы, что им мешает сменить свою узкую специализацию в которой все не так, на другую, где все так - а мешает им именно то, что они в целом не любят эту сферу. Для них и другое это все снова будет не такое.
Печален такой расклад лишь по той причине, что в сообществе практически не обсуждаются интересные темы , как это было например 20-30 да хотя бы 10 лет назад. Информационное простанство заполонило сплошное нытье, а интересные холивары и аргументированные споры появляются исключительно редко. В рунете вообще отсуствует как класс такие сообщества, как например HN. Иногда кажется, что ты не в айти комьюнити обитаешь, а в сфере клерков, потому что все обсуждают эргономику нового дырокола, прическу секретарши Зины и зарплату. Грустно.
У современных приложений на Qt5 папка с библиотеками на полсотни мегабайт. Минимум.
Гм. Ну вообще да, как и на любом языке с графикой и вводом-выводом. А набор размеров иксированный или картинка должна индивидуально подгоняться? И главное, какой объект ты держишь в уме? Колись, анон.
>А вот смотри: допустим если бы можно было компилить десктопные джава-приложухи в какой-нибудь экзешник, который при установке просто скачивал бы джаву, если ее еще нет, и предлагал установить ее. Такой вариант невозможен?
Это весьма просто делается. У той же IntelliJ инсталятор так и работает. Просто кладешь JRE в соседнюю папку с твоим JAR файлом и всё. А ярлык приложения выполняет их запуск.
>А вот смотри: допустим если бы можно было компилить десктопные джава-приложухи в какой-нибудь экзешник, который при установке просто скачивал бы джаву, если ее еще нет, и предлагал установить ее. Такой вариант невозможен?
Java апплеты именно так и были устроены. Если ты открывал веб страницу с апплетом и у тебя нет джава машины, тебе предлагали ее установить.
---
Отходя от темы, все то о чем вы строите концепции не имеет никакого отношения к вебу. Это апп сторы, и они уже есть и сейчас и не надо ничкуда выебываться.
натяни концепцию андроида н адесктоп и живи на здоровье с приложением на каждый сервис. Суть в том, что она не состоятельна вне специализированных устройств, иначе бы уже давно выстрелила. Да и на самих этих устройствах обыный веб никуда не делся.
Так и натягивают же, начиная с хромбуков и до windows store на винде, а теперь ещё маки смогут запускать приложения из appstore нативно
Прост))
Это мертвый путь.
Ну, сколько у тебя на пекарне приложений предоставляющих доступ к веб-сервису.
Отдельное приложение для контакта, например есть (не на телефоне?). А каког-нибудь яндекс-маркета, или может почтовый клиент?
Скорее браузер заменит DE, чем магазины вытеснят браузер.
Обычно в связке с каким-нибудь другим нормальным языком, который не настолько тормознутый. Да, апишки им норм описывать. Но вот ни о каких высоких нагрузках речи идти не может. А зачем он тогда нужен, если на тех же сишарпе и джаве можно тоже описывать апишки но при это скорость работы внятная? Не говоря уже о го.
А какого плана у тебя фронт? Охуевшие спа? А может ты на высоконагруженном проекте с сервер сайдом? Или "сверстайте форму на заказ дилдаков" ?
Не, это то понятно. Я похоже не совсем правильно вопрос сформулировал. По факту через год-полтора я, скорее всего, уже смогу вкатиться в йобу. Еще за год там более-менее освоюсь. Соответственно это уже будет пик карьеры. Это так, или же нора фронтэнда гораздо глубже и я даже через 5 лет буду сидеть и не понимать что вообще происходит?
>я даже через 5 лет буду сидеть и не понимать что вообще происходит?
Конечно не будешь, ведь к тому времени Svelte УНИЧТОЖИТ реакт на рыночке фронта.
Сверстал страницу при помощи флекса. Меня устраивает результат, но чувствую, что за такие фокусы убивают нахуй. У меня получилось:
Флекс-контейнер А1, который содержит айтем Аа1, который тоже является флекс-контейнером, который в свою очередь содержит айтемы Ааб1, Ааб2 и Ааб3, которые являются флекс-контейнерами и содержат айтемы, которые НЕ являются флекс-контейнерами.
Помимо этого контейнер А1 содержит айтемы Аа2 и Аа3, которые также являются флекс-контейнерами и содержат "тупиковые айтемы" и айтемы флекс-контейнеры.
Короче все флекс. Это норм так делать?
И где бы почитать актуальные правила хорошего тона в верстке?
Cкинь код
Норм
И что не так? Если в элементе есть флоу, то есть содержится больше одного элемента, то это кандидат на флекс. То что он сам флекс-элемент - не важно.
Мимо django-разраб
На беке вообще часта ситуация когда используется смесь языков. В последнем проекте были crud-ы и апишка на джанге, а высоконогруженные части - на зеленых потоках го. Туда можно были б еще и рендеринг темплейтов на ноде захерачить, а операции с бд ебануть на жаве. И все б работало
Бамп годному вопросу кста.
Какую блять функцию? Фрагмент кода покажи. "e" может означать хоть анус твоей мамаши, если функция типа DevelopAnus(e){}.
С таким же успехом можно затирать, что спрос на юристов в Мск огромен и ты будешь кеш лопатой загребать. По факту же работа мало того что выматывающая, так еще и свои заветные $7к хрен ты когда увидишь
flex + nth child, не так лаконично, но работает
То есть со времени написания туториала даже КИШОЧКИ отрисовки поменялись.
Так там ситуация похожа, хотя еще хуже. Есть стадо быдла, которые уже работают, но они имеют низкий уровень + так и останутся на нем, и есть быдло в вузиках, которые мечтают о хорошей жизни и куче денег.
Но реальность всегда одна - платят 7к только лучшим спецам, которых единицы. Ну разве что юристом по блату можно устроиться на 7к, в ойти уже такое вряд ли получится.
К тому же огромная ответственность, если говорить про лидов. Не каждый возьмет на себя такое, а кто то просто не в состоянии тащить на себе проект и управлять командой. Деньги хоть и большие, но лучше за 4-5к сидеть на жепе ровно, чем минуснуть десяток лет жизни за пару тыщ сверху.
Лол, и где нормально эту крипту обналичивать, и как с неё платить нолохи? Не капнет же тебе 700к на карту в конце месяца просто так, сразу карту блокнут и приедут ебать люди в масках.
Хотя, наверное, если оформиться самозанятым, таки отдавать 6% и делать вид, что бабки просто с фриланса от дяди Вани, то прокатит. Но один хуй, многие банки блочат карты при больших денежных единоразовых поступлениях.
Эту деталь я и пытался у него выудить. Он только сказал, что там уже всё на подскоке и можно было даже по желанию напрямую на карточку переводить, с ебейшей комиссией конечно же. Как я понял налоги платил банк, который работал с этой фирмой.
Про ёблю мне тоже было интересно, так как он это дело проводил в мухосранске. Я бы ещё понял в Москве, типа там и так хитрожопых бизнесменов жопой жуй, но в мухосранске местный отдел ФСБ моментально же накинется и присадит на бутылку.
у меня такие же мысли были, когда я в тудушке ровнял иконки в li, тоже как бы впихнул во флекс, что бы раскидать по углам иконку и спан
Я вообще не ЖСер, пишу на Руби, но тут приспичило накатать интерактивную форму для сайта
Суть: есть форма (а может и без тега form получится обойтись, посмотрим) в которой построчно лежат несколько элементов-виджетов "друг на друге": каждый из них можно перетягивать и бросать на новое место (drag and drop), после того как юзер наперетягивался и решил, что порядок этих виджетов надо запомнить, он жмет на кнопку (что это именно будет: a, input или button – вообще поебать) и данные асинхронно передаются через REST на бэк, где новый порядок сохраняется в базе данных
Про drag and drop я находил уже инфу: https://developer.mozilla.org/en-US/docs/Web/API/HTML_Drag_and_Drop_API (правда особо не въехал в реализацию), как посылать данные через ajax и jquery я в курсе, вопрос в подходе к исполнению и сути работы жс-кода. Когда я нажму на кнопку, жс каким-то образом должен получить данные из DOM о порядке следования элементов и правильно их отослать. Как именно это мутить? И на чем лучше это запилить? Загнать туда сраный Реакт (который я к тому же даже приблизительно не знаю) и ебануть overkill – такое себе. jquery вроде более тривиален, брать ли его?
>жс каким-то образом должен получить данные из DOM о порядке следования элементов и правильно их отослать
https://javascript.info/dom-navigation
Каждый элемент дома хранит в себе ссылки на дочерние элементы в виде массивоподобного объекта. Так что тебе надо найти общего родителя этих изменений и сохранить всех его потомков в запрос.
А как искать элемент дома по определенному паттерну? По регулярному выражению скажем?
По learn.javascript не стоит учить и лучше юзать сразу ангельский оригинал? Или это тоже годный гайд?
Идеи: во время рендеринга темплейта каждому виджету, обернутом в div.custom_draggable, надо присвоить свой id, выглядеть он будет примерно так: id=”elem_{obj.id}” – то есть id начинается с elem_ а далее следует уникальный числовой id, который этот элемент имеет в БД (канешн на бэке будут свои проверки, чтобы удостовериться что юзер не меняет чужие данные). Затем как-то эти данные собираются (как?.. да и как удостовериться, что они будут найдены именно в том порядке, в котором лежат в DOM?) и отсылаются в одном json на сервер
РРРРРЯ!!
>>34005
Главные отличия жс-разраба от верстальшика:
Несравнимое разнообразие задач
Зарплатная вилка до 9к зеленых
Постоянная востребованность на любых рынках
Возможность помимо веб-фронта писать еще и: десктоп, системные обвязки, роботов, ML-модели, мобайл-приложухи
Уважение от бэкендеров и зависть от ентерпрайз-чуханов
Блин, прости меня пожалуйста, я был неправ.
+ Большой член
>десктоп
еле-еле
>системные обвязки
обвязки уровня /b
>роботов, ML-модели
просто лол
>мобайл
как узнать что мобилка была написана на жс? грузится 15-20 секунд и по какой-то причине весит 200+ метров, хотя там медиа минимум. Почти-что уровень Питон-мобайла, может даже зашкварнее
Также: неплохо было бы напротив каждого из этих элементов добавить checkbox, который можно выделить и после нажать на еще одну кнопку – Delete, и выбранные объекты удалятся к херам. Но это уже потом
Учи язык нормальных людей. Он и знание хотя бы 1 профессионального навыка открывает перед тобой хоть какие-то двери.
Какой профит в фигмне, если там банальной линейки нет?
Карго-культ.
А есть смысл делать другие?
вам крипту на карту собрались начислять? Создаешь счет на бирже, ловишь транзакции за РАБотку на ней и кусками выводишь (можно даже на фейковые счета). Единственный вопрос - что за крипта? Если какой то не стабильный шлак, который сегодня $200 завтра $50, то зачем такой гемор нужен
>Уважение от бэкендеров и зависть от ентерпрайз-чуханов
проиграл в голос с мамкиного борщехлеба
results = block.querySelectorAll("[par_]")
То есть все элементы, айдишник которых начинается с par_ но мне нужны не сами элементы а собственно их id. Как их распарсить? Формат один и тот же: par_ а после идет какое-то уникальное число
Там есть англ версия.
>>34358
<div id='root'>
<div id='dvach1' </div>
<div id='dvach14' </div>
<div id='dvach178' </div>
<div id='dvach156' </div>
</div>
let root = document.getElementById('root')
let list = root.querySelectorAll("[id^=dvach]").forEach((i)=>console.log(i.id))
Пробуй гуглить в след раз перед тем как задавать вопросы.
Если ты задаешь такие вопросы, то твой максимум это 50к в вебстудии "УВасяна". Это не подъебка. Зайди в wrk it тред. Там столько таких вкатывашей, которые думали, что будут сразу 200к получать, а в итоге не могут вообще никуда устроиться тк джуны и недомидлы не нужны. Через пару лет уже появляются норм деньги, вот только это как раз показывает какой процент из вайтишников эти два года выдерживает. Хорошо если 1 из 100 остается.
>твой максимум это 50к
За що ты так? Я всего то без 1 дня как неделю учу программирование впервые в жизни. Пока всё нраица и бросать точно не собираюсь.
50к это уже нормальная зарплата для вкатывальщика в 2020 году. По крайней мере в дс2. Сам посуди. У тебя есть гугл, который может выдать тебе детальную статистику, где все раписано по годам и категориям.
https://www.payscale.com/research/RU/Job=Front_End_Developer_/_Engineer/Salary
Вместо этого ты задаешь вопрос на дваче. С таким подходом двигаться ты будешь пиздос как медленно я сам таким же был и по себе знаю.
>Пока всё нраица и бросать точно не собираюсь.
Так ты пока еще не дошел до того, что может не нравиться. Через месяц начнется боль. Потом еще полгода-год придется превозмогать. Одно дело написать alert("hello world"), а другое часов 10 превозмогать, не понимать что вообще происходит, а потом выяснить, что вся боль была из-за того, что ты не знал, что getBoundingClientRect() возвращает значение в пикселях, но без "px" в конце. И таких моменты у тебя будут регулярно. Большая часть это не выдерживает, поэтому йоба синиоров практически и нет, хотя казалось бы для этого достаточно всего года 3 прорабоать и их должно было бы быть столько же, столько 3 года назад мидлов, но нет. Такие вот пироги.
Ты сам то превозмог? Сколько сейчас получаешь и где работаешь? Насколько геморно? Статистика статистикой, но мне было интересно у людей поспрашивать, я ж не хикка какой-то. Ясное дело дальше пиздец начнётся, но это явно лучше чем на заводе или дворником батрачить. Если бы я хотел чего попроще - пошёл бы в кфс.
>Ты сам то превозмог? Сколько сейчас получаешь и где работаешь? Насколько геморно?
Превозмог. Работаю через апворк, сейчас пилю обучающие игры для француских личинок. Получаю 20$/h чистыми. Когда пилил формочки было больше, но тут хоть какое-то разнообразие+можно свои идеи добавлять, а не pixel perfect.
>Ясное дело дальше пиздец начнётся, но это явно лучше чем на заводе или дворником батрачить
https://spb.rabota.ru/vacancy/43395545/
Есть куча подобных вакансий для электриков/водопроводчиков/инкасаторов/барберов/установщиков кондиционеров и других рабочих профессий, к которым погромирование тоже относится. То есть любой работяга после 3 месяцев бесплатных! курсов от биржи труда может получать сопоставимые деньги.Причем гаранитрованно, а не если повезет и тебя возьмут джуном. Я бы не сказал, что ковыряться в кривом коде и, который написал какой-нибудь индус или украинский школьник а тебе придется в любом случае с чужим кодом работать большую часть времени сильно лучше, чем ковыряться в электрощитках. Про работу, которую ты можешь получить с вышкой даже говорить не стоит. Если ты не совсем хикка, быть каким-нибудь прокурором намного лучше, чем веб макакой.
let matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
];
alert( matrix[1][1] ); // 5, центральный элемент
А если вызову вот так элемент:
alert (matrix[1,1]); // выведется 5. Этот вариант считается аналогом и он правильный или так делать нельзя?
В том то и дело, что элементарщина, но человек вместо того, чтобы свой же код ввести в редактор задает вопросы на двачах.
Так он спрашивает правильно ли так делать, а не сработает это. Видно же, что он понимает что ему выдаст.
Хз, доку надо читать перед тем, как юзать что-то, а не сувать в код первые попавшиеся в гугле методы и будет всё хорошо.
Надеюсь, братья-жсеры не из "этих"?
Кусок дерьма?
Как же рвёт неосилятора. Маня, твоя проблема в том, что ты ориентирован на чужое мнение. Научись класть болт на него и ты поймёшь что выебоны не нужны.
Ты лучше спроси почему везде агитируют за let. А в новых статейках на хабре и медиуме в каждом втором случае стоит var
Да мне блять похуй на эти ваши агитации, я блять только сегодня вкат начал. У меня, блять, один вопрос какого хуя в нормальных языках повсюду varы а у вас тут let какой-то.
Да я, блять, сижу и осваиваю этот твой сайт только на американском языке уже сижу ебашу методы массивов и мне всё ок я хуярю жигулёвское особое тупо рыгаю и блюю на клавиатуру потому что мне грустно что выкинули такой милый душе оператор как var.
А ПАЧИМУ тогда везде в официальнай дакументации юзаеться let мммм ти сука обьеснишь мне или нет?
> А в новых статейках на хабре и медиуме в каждом втором случае стоит var
Потому что макаки, которые пишут эти статейки, занимаются не написанием статеек, а рерайтингом.
Да мне, блять, поебать на эти ваши скоупы я буду писать вар и хули вы мне сделаете.
Можете посоветовать какую-нибудь обёртку над веб-сокетами для домашней свисто-перделки? Не слишком сложное и к чему есть примеры использования.
Читаю такой статью про интернациональную педерастию и вижу пикрелейтед.
Видать там последнего гетеросексуала пидорнули несколько лет назад, а замену так и не нашли.
for (let x = 1, isEven = 0; ; x += isEven, isEven = 1 - isEven)
for (let n = x, l = x - (2 - isEven), ms = 0.5; l >= 0; n += +(ms < 0), l += -(ms < 0), ms = -ms)
for (let m = -l; m <= l; m++)
yield { n, l, m, ms };
То есть какому-то животному, которое пишет с переменными l/n/ms заплатили за работу, а я буду бесплатно в норм вид приводить? Нет. Соси
> состояние электрона в атоме и вид описывающей его волновой функции могут быть охарактеризованы четырьмя квантовыми числами: главным (n), орбитальным (l), магнитным (m) и спиновым (ms).
У физиков нет айдиешечки с автозаполнением. Так бы они срали длиннющими специфичными переменными, по сравнению с которыми абстрактные однозерновые фабрики показались детсадом.
>какому-то животному
Откуда у жс-пидоров такое самомнение? Один из самых токсичных тредов в pr лол, хотя по факту 95% работающих жсеров занимаются вещами пиздец далекими от возвышенного
Тебе уже упомянули, что это писал человек, далекий от программирования, занятый вообще в другой сфере, но за каким-то хуем ты решил называть абсолютно незнакомых людей "животными", чтобы самоутвердиться на анонимной борде? Хех
Сейчас знания в джсе примерно такие (минимальная работа с массивами, циклами, условиями), короче максимально минимальный синтаксис. Прошу совета: правильно ли будет начать изучение js по этим двум сайтам?
Да, правильно. Всяко лучше, чем по курсам
боюсь, что это писал профессиональный программист
А о каких масштабах речь? Обычно понимаю, что делает код, но чего-то объёмного я не видел, а чаще всего это вообще жквери, ведь на ванилле только я и пишу
Масштабы по разному. Бывает 1000 строк кода и ничего не понимаю. Забыл уточничть, что имел ввиду не о фронтенды сайтов, а вообще проекты, и не обязательно на JS. Вот например connect, поверх которого работает express. Всего 280 строк, а я не вдупляю что там происходит. Именно общую картину не вижу, что к чему.
https://github.com/senchalabs/connect/blob/master/index.js
Ну по всей видимости практика. Видишь непонятный оператор - в гугл и так пока общая картина не будет перед глазами.
let copyText = document.getElementById("myField");
copyText.select();
document.execCommand("copy");
Мне надо выделить и скопировать текст моего url в теге <a>. Как это делать?
Какими "регулярными"? Мне выделить текст надо чтобы потом команду document.execCommand("copy") на него заюзать
Вот что я сделал: создал дополнительно элемент textarea, в котором разрешено выделение, засунул его в конец документа, скопировал, затем удалил из документа
const elem = document.createElement('textarea');
elem.value = copyText;
document.body.appendChild(elem);
elem.select();
document.body.removeChild(elem);
document.execCommand("copy");
Блять неужели проще сделать нельзя?
Там переменные уровня "fqdnIndex". Я тоже некоторые моменты не понимаю. Индусский код. Чего ты хотел
Вообще можете сами посоветовать что то вместо этого. Вообще я хочу на яндекс.игры например залить свою прогу. Как бэ саму суть я на жс написал, но нужно же это оформить красиво. Не поверю что в 2к20 люди руками все верстают
А че там с публикацией сайта в сети? Заебался соглашения читать
>Вообще можете сами посоветовать что то вместо этого. Вообще я хочу на яндекс.игры например залить свою прогу. Как бэ саму суть я на жс написал, но нужно же это оформить красиво. Не поверю что в 2к20 люди руками все верстают
Тебе что надо? Хостинг для игры, хостинг для сайта, просто конструктор?
Конструкторы это совсем дно и в ближайшее время им и останется. Лучше потрать час времени и сверстай сам нормально. Намного проще и лучше будет
>Просто конструктор
Чтобы что? Можешь взять генератор статических сайтов, например hugo, и для него бесплатный шаблон, а хостить на гитхабе.
Ну смотри, можешь загуглить сайты на тильде/wix и решить подойдёт для твоего проекта такой уровень, или лучше сделать ручками.
>челик рассказал, что бекенд джаваскриптизеры получают гораздо больше бекендеров на других языках, так ли это?
Тебе какая разница? Ты все равно еще не работаешь. И я сомневаюсь что разница великая, если она вообще есть.
Напиши что ты год работал в вебстудии Вектор, найди пару более-менее норм сайтов и напиши в резюме, что это сделал ты. Дальше ищи remote работу. Релокейт без оффера особого смысла нет делать.
>задачка
>var arr = [{name: 'width', value:10},{name:'height',value:20}]
>var obj = {};
>arr.map(i => obj[i.name]=i.value);
потратил ~2 минуты на решение, опыт 6 лет на JS, я прошел ?
Бамп вопросу
интервалом збс вышло, без while, к счастью.
Кстати, как максимально просто можно запилить анимацию появления текста?
>бля внатуре, если не работаю - похуй что учить
Именно так. Ты же когда учишься водить авто, не замахиваешься сразу на Феррари? Это было бы не умно, все равно ты не умеешь водить, и не сможешь ее правильно использовать, разогнаться по полной, а скорее всего вообще разобьешь. Учиться нужно на простом. Как опыт возростет, то можно и другое смотреть.
>map вместо reduce
Нет, не прошел, особенно учитывая, что у тебя 6 лет хуй знает чего (опытом это сложно назвать).
?
По-твоему жс это руны которые с помощью волшебной коробки под названием кампухтер транслируются в крутящиеся виджеты на экране? не спорю, многие жсеры так и считают
Почему?
switch — ни в каких, else ifы только в самых простых. В сложных — заменять полиморфизмом.
>ЖС это прокладка между браузером и html
Нет. V8 использует ОС по полной, благодаря этому есть node.js. В V8 быстрый мощный Jit компилятор. Сейчас еще появился wasm, что сделало выполнение кода еще эффективнее.
>switch — ни в каких, else ifы только в самых простых. В сложных — заменять полиморфизмом.
Полиморфизм это про другое вообще.
Свитч в редюсерский хук обычно пихают в реакте, чтобы не дрочиться с состояниями компонента:
https://www.youtube.com/watch?v=o-nCM1857AQ
>гугли замену условного оператора полиморфизмом
Даже гуглить не буду. Ты видимо не понимаешь что такое полиморфизм.
Что еще за двоеточие и точка с запятой в конце адреса? Это крест для закрытия окна если что
нет ты
Но как ЭТО может весить примерно 2,5 МБайт?
Я, такой, обрадовался: сейчас загружу свою измазанную говно-кодом веб-панельку в махарайку, а потом посмотрел размер папки dist и выпал в осадок. У махарайки памяти всего 4 мегабайта, а мне надо ещё две формы на десяток полей.
Жду советов мудрых, кроме советов убиться.
Можно, пожалуйста, подробней.
Так реакт как раз же для формошлёпства.
>благодаря этому есть node.js
Node.js есть благодаря умственно отсталым макакам, которые не хотят использовать инструмент по назначению, они хотят забивать гвозди отверткой, потому что до этого пользовались ей для вкручивания саморезов.
Просто берёшь и учишь. Если мотивации нет, то появится она только когда осознаешь, что денег у тебя даже на хлеб не осталось, а содержать тебя некому, но заставит она тебя не JS учить, а пиздовать работать на завод за хлеб. Другого способа нет.
>только запускаю видео
>пытаюсь себя заставлять
Тебе просто не нравится кодить. Я бы на твоем месте сразу забил. Даже если вкатишься, до 300к в секунду ты с таким подходом не апнешься, а за 1к долларов превозмогать и делать то, что тебе не нравится идея сомнительная.
если бы тебе нравилось, ты бы не задавал такие вопросы, а что-то делал. Такие дела
Какое нахуй видео, в этих видео практики нихуя, переписывание кода без понимания, помню как тоже было в падлу их смотреть. Пиздуй на freecodecamp или codewars, пока не будет челленджа, то и интереса не будет. Ну или конспекты веди какие-то, тоже помогает концентроваться. Помню тоже было в падлу, но как только появлялась задача не по силам, мог думать над ней часами и именно в те моменты обучался лучше всего.
Бамп
Теперь пиздуешь на ресурсы с практикой, потом делаешь пет-проекты, потом ищешь работку. Хуяришь лет 5-10 и после съебываешь на фриланс.
Ты не понимаешь логику вкатывальщиков. Ему не нужно учиться и получать какой-то результат. Ему нужно ощущать и делать вид, что он занят, поэтому так популярны всякие каналы типо АЙТИ БОРОДА УЧИМ РЕАКТ, где за 20 минут зачитывают 10 строк из оф документации. Вот сейчас посмотрят видосиков и напишут свой гугл. Ага
Аргументы есть какие-то? Где нода не по назначению используется? И она реально очень быстрая, ты бы почитал что такое вообще v8.
>только запускаю видео и уже чувствую усталость и желание уснуть, постоянно хочется отвлечься на что-то, появляются мысли пойти чайник поставить и типа того
Видео тебе не нужно. Пиши код. https://ru.code-basics.com/languages/javascript
Борись с ленью. Кроме тебя этого никто не сделает. Вырабатывай дисциплину. Начни каждый день отжиматься, это помогает. Не ешь перед тем как сесть за комп, потому что от еды сонливость. Обливайся водой по утрам. Не знаю что еще.
У V8 отличная производительность. Лучше чем у JVM, а джава близка к компилируемым языкам по перформансу. Если бы node.js был лучше написан, он бы был на уровне C/C++, а иногда и быстрее, ведь там быстрый jit плюс libuv. Один чувак с помощью своей обертки порвал Go в тестах. https://habr.com/ru/company/ruvds/blog/439976/ и даже сишный h2o.
> если его нет за пределами браузера
Очевидно потому, что в браузере дело происходит в этих туториалах. Но консоль гораздо удобнее и приятнее алертов, естественно.
Хульп.
Есть какие то упражнения для мозга, на память там итд? Мб кто уже сталкивался и поделится ценным советом.
> Не нода, а твой JS
Ну и где он не по назначению используется? Мобилки, электрон? Ок, возможно. В остальном по назначению.
> >И она реально очень быстрая
> Проиграл.
А что, ты считаешь написанный на C++ v8 является медленным? Анон, стоп троллинг пожалуйста.
>порвал Go в тестах
Блять, за эти "порвал в бенчмарках", "уничтожил в тестах", "обоссал чухонцев-недопрогеров" надо сразу на бутыль сажать
>Мобилки, электрон?
+ Бэкенд. И любая область, которая выходит за рамки браузера и оживления html страницы.
Это даже создатель ноды признал, но уже поздно, тысячи макак вкатились и им лень изучать инструмент, который подходит для их задач, они хотят хуячить всё на JS.
>ты считаешь написанный на C++ v8 является медленным?
Мы скорость движков жопаскрипта обсуждаем или использование ЯП по назначению?
>Закончил шарагу
>могу ли я говорить что являюсь студентом старших курсов
У тебя заборостроительная шарага? Почему ты не хочешь говорить, что у тебя специальность есть?
это основы основ, дурачек, знал бы ты, что тебя ждет впереди. Но и эти основы можно копнуть настолько, что ты охуеешь, насколько ты ничего не знаешь. Можешь почитать серию "Вы не знаете JS". После этого учить фреймворк по выбору, и обязательно вместе с TS, так как без этого сейчас никуда.
>>36003
Мотивация есть, но усталость просто убивает когда сажусь, возможно это из-за видео и >
>>36006
и этот анон прав, проблема в том что смотрю видео, а не делаю что-то, спасибо за сайты, не видел их до этого, буду пилить.
>>36004
>ты бы не задавал такие вопросы, а что-то делал
Я делаю, я же написал - занимаюсь по 2-3 часа в день около недели, просто удивляюсь что так тяжело идет
>>36025
Ты в чем-то прав, к сожалению, постараюсь ограничить просмотр видео. Но я смотрел их чтобы примерно понимать что вообще происходит, а после просмотра этого всего начать кодить самостоятельно, думаю да, это ошибка, буду чередовать
>>36077
(тебе ответил другой анон до этого, а не я). Про дисциплину через другие вещи интересно, спасибо за совет, постараюсь что-то делать,
, за сайт тоже (хотя по названиям я вроде почти все это уже знаю)
> А что ты умеешь хоть? Ангельский знаешь? Куда пробовал вкатиться?
На ангельском умею читать книги по программированию, но не художественные. Судя по названию треда хотел вкатиться во фронтенд.
Из проектов: всякий мусор типо мувиков, тудушек, файлопомоек, опционально на тайпскрипте и среакте.
Единственный нормальный проект - это просмотр фильмов с торрентов но только в определенном контейнере и с определенным кодеками и переводом субтитров.
Еще вот задумал сделать просмотр двача в виде графа, но меня скоро в армию заберут
>>36177
Один раз я все таки попал на собеседование, мне там даже дали тестовое задание, которое я сделал. Считаю что меня не взяли, потому что я назвал место в котором учился
>Уже половину сделал. Хули так просто?
Вот видишь, а ты видосы смотрел. Код писать нужно.
>Что после этого сайта дрочить?
Алгоритмы и задачи решать.
Это профи программист сказал и он провел тестирование, а ты ноунейм и без пруфов пишешь, что V8 медленный. Что с тобой нужно сделать?
>Вот видишь, а ты видосы смотрел
Это другой человек, не я, но я на freecodecamp тоже сидел пилил задачки
Не тебе решать для чего годится jS, а для чего нет. На нем написано очень много разнообразного кода, в том числе для iot. Это значит, что JS годится много где, даже там где с ресурсами напряг. Не нравится JS? -> уходи из треда. В чем проблема? Походу ты главный фанат JS в этом треде. Он тебе так "не нравится" и "не интересен", что ты целыми днями бегаешь за всеми доказывая что то.
>по названиям я вроде почти все это уже знаю
По названиям я и ядерную физику знаю, но не на практике. Понял аналогию?
>профи программист
Мне похуй кто. И я кстати вообще другой анон
Очередной "профи" может смело ссать в уши плебсу, преследуя свои эгоистичные цели, а плебс будет жрать, потому что своих мозгов у них нету
Ты прав, займусь
>Мотивация есть
>не могу учиться
У тебя не только мотивация отсутствует, но еще и способность смотреть правде в глаза. С вероятностью 95% ты забьешь хуй на то что начал и уже через пару недель будешь играть в любимую доту и мечтать о том, как получаешь миллиардное наследство от дальней родственницы.
>Один раз
>Считаю что меня не взяли,
Охуеть, сколько тебе лет, дитятко? Даже после 50 отказов ты ничего не можешь считать, так как причин может быть множество и "место в котором учился" в этом списке далеко не на первом месте.
Так я и не решаю, кто я такой чтобы выносить решения? Мне таких полномочий никто не давал. А вот высказать своё мнение и аргументировать его, я вполне вправе. То что у тебя от него пригорело, только лишний раз доказывает, что в жопаскрипт вкатываются не от большого ума.
>Подождите ка, как вы сделали вывод, что у JS слабая производительность?
Сравнили его с языками программирования. Было сложно, так как JS не является языком программирования, а всего лишь прокладкой между браузером и хтмл.
>Ты читаешь чей то код или сам пишешь?
Смотрю ролики на ютубе по некоторым фитчам, которые не понимаю, читаю на всяких ресурсах типо w3, потом на основании этого пишу иногда копипасчу видоизменяя под свои нужды
> + Бэкенд
Ну-ка, чем бекенд на ноде плох? Его ниша это конкуренция с пхп, руби, питоном. "Фронтенд для бекенда", то есть раздача статики.
> Мы скорость движков жопаскрипта обсуждаем или использование ЯП по назначению?
И то, и другое.
Да не говорил я ничего про производительность, успокойся: >>36159
Эти бенчмарки как правило ниибацки субъективны и смешны. Тут какой-то чел недавно "доказал" что его новый питоновский фреймворк аж на 500% производительнее Flask (базовое питонячье говно для бекенда), правда более пристальные тесты показывают результат всего в 40%, несмотря на то что фласк - синхронный, а его недофреймворк - нет
Примерно одинаковое время выполнения на массиве из 1 000 000 объектов
>Сравнили его с языками программирования.
Значит таки тесты, как и тот чувак что сравнивал с Go и с сишным сервером h2o.
Не ты ли писал? >>36159
>Блять, за эти "порвал в бенчмарках", "уничтожил в тестах", "обоссал чухонцев-недопрогеров" надо сразу на бутыль сажать
Так ты определись, тесты это норм или нет. И по что ты не предоставил ни одного теста где бы JS показал себя плохо.
Здесь JS обходит в 2 раза fasthttp - самый быстрый сервер на Go и h2o - самый быстрый сервер на Си!!! https://habr.com/ru/company/ruvds/blog/439976/
Любую хуйню, которая рассказывает про "революционные результаты из тестов" стоит сразу же слать нахуй. Че ты как маленький?
Бенчмарки можно какие угодно наваять. По опросам рейтинг Пу тоже плавает от 20% до 70% в течение дня лишь в зависимости от формулировки вопроса
Я сам на ноде и го бекенд разраб, но справедливости ради, в твоей ссылке юзаются js-биндинги для библиотеки, которая написана на крестах, конечно она будет быстрее чего угодно. Из этой статьи нельзя сделать вывод, что js быстрее го.
>в твоей ссылке юзаются js-биндинги для библиотеки, которая написана на крестах, конечно она будет быстрее чего угодно
И что? Там обвязка для вебсокетов только. Автор пишет, что код ноды плохой, если бы он писал ее, то сделал бы быстрее в несколько раз. Что он и подтвердил, либы для вебсокетов на си и крестах он писал. Он кстати написал json декодер для Go, который в 3 раза быстрее родного.
Как бы нода сама на крестах написана. Компилятор крестов написан на крестах. Код все равно исполняет V8.
Посмотри оригинал статьи. Где то есть ссылка на видео, в котором автор показывает на своей машине приложение под нагрузкой.
Это как чуваки, тащащие питоновскую numba (которая по факту является питоновской оберткой вокруг кучи С++ кода) и в очередной раз утверждающие что "питон по производительности сравнялся с крестами"
Виртуальная машина V8 транслирующая JS в машинный код хоть и написана на C++, но факту не важно на чем она написана. Ее производительность обусловлена архитектурой самой машины, а не скоростью языка, на котором она написана.
Есть клиент, который заходит на сайт.
Сервер сайта вгружает клиенту скрипты.
Задача - защитить скрипты от подмены.
Пока, ничего лучше атрибута integrity не нашёл: https://ru.stackoverflow.com/a/495788
Но значение этого атрибута, хэш, может быть также подменено.
Пиздец какой-то. Что делать? Есть решения?
Как вариант - не отдавать скрипты с сервера, а дать возможность их закачать единожды, проверить хэш и цифровую подпись, а потом запускать их на клиенте, и исполнять их - client-side.
Да ладно вам, неужели так сложно назвать методы по уменьшению размера папки dist?
Что, гипс на руках развалится, если по клавишам 30 секунд постучите?
Скажите, как парвильно называется и я съебу в гугл.
Отдавать по HTTPS, не?
Или через Tor, с onion-домена.
Можно также получить EV-сертификат для .onion, вроде
Но и HTTP может сгодится, т.к. трафик к hidden сервисам на именах в зоне .onion, и так зашифрован.
Ну и integrity просто всунуть туда, для надёжности, и заебца.
И то, что утверждения вроде
>JS обходит в 2 раза fasthttp - самый быстрый сервер на Go и h2o - самый быстрый сервер на Си!!!
Являются ложными, потому что это не JS обходит, а кресты.
Сам JS не может обойти Си и Го хотя бы потому, что JS не умеет правильно реализовывать потенциал многоядерных процессоров.
Ну во первых нужна минимизация кода - если ты делаешь например через RactCreateApp то она там уже есть.
Если сам делал сборку то подключи для начала https://webpack.js.org/plugins/terser-webpack-plugin/
Вообще есть очень много подходов оптимизации бандла, начиная от code splitting, заканчивая генерацией статичных файлов для каждой страницы.
Если не хочешь сам заебываться над этим, возьми NextJS или Gatsby, елси у тебя React проект.
Все равно все упрется в скорость БД в 95% проектов
Пиши код. Чем больше напишешь, тем больше будешь вникать.
А вообще не переживай, что че то не запоминаешь, я часто всякую хуйню на работе гуглю. Вплоть до того, что каждый раз на всякий случай смотрю как в SQL инсерт сделать, хоть и делаю их по сто раз на дню
Да, когда надо рендерить дохуя большой датасет. Для этого используется ВиртуалСкролл например, что бы не упираться.
А почему бы и не забить, если купить молоток для бизнеса дороже, чем забить пару гвоздей отверткой.
Если нужно обычное приложение, которое просто получает данные и отображает ReactNative отлично подойдет.
Если нужно что то для работы с железом или тяжелой графикой, то да, хуйня полная.
Но суть то в том, что инструмент нужно использовать правильно, а не сувать его везде.
Это норм, на SwiftUI все только так и верстается (HStack,VStack - вертикальный и горизонтальный флексы по сути)
>Являются ложными, потому что это не JS обходит, а кресты.
JS, потому что код на JS преобразовывается V8 в машинный на лету.
>Сам JS не может обойти Си и Го хотя бы потому, что JS не умеет правильно реализовывать потенциал многоядерных процессоров.
Уже может. Открой в хроме несколько страниц и посмотри количество процессов хрома в ОС. Их будет несколько. В ноде это тоже уже есть. OCaml даже на одном ядре приближается к перформансу джавы.
Ты что сделать то хочешь?
Чтобы установить что-то с npm, не нужен репозиторий.
Чтобы пользоваться репозиторием, не нужен npm.
переносишь в нужную папку или ручками или через гит-баш
переходишь в папку проекта и выполняешь npm install
В гите можно скачать архив с репозиторием. Распакуй его куда нужно, перейди в него в терминале и запусти в терминале же
npm install
Когда все установится запусти
npm start
Если не сработает, посмотри в package.json файле в разделе scripts, какой скрипт запускает проект и запусти его.
Писал всякую хуйню, отечественный говнопродукт на WinAPI. Но мы писали на новых крестах, не легася.
В общем щас учу жаба(тайп)скрипт. Такой вопрос. Будет ли знание крестиков форой при устройстве на работу? NODE_MODULES на крестах писать могу, например.
Любой бэкграунд лучше, чем его отсутствие. С этой точки зрения - да, будет.
С другой стороны у фронта сейчас своя экосистема и у меня на работе шарписты вообще в ней не шарят, например. Им и так норм работается.
Так что выучив ТС ты автоматом не станешь миддлом-фронтером. Но лучше так, чем никак.
arr.sort((a, b) => b - a);
alert( arr );
Поясните, пожалуйста, вот эту стрелочную функцию, как она работает?
во фриланс ещё сложнее, там сидят уже тысячи готовых работать за еду фрилансеров, с репутацией, с отзывами и огромными портфолио, мегасоциобляди с тысячами аватарок, и с датой регистрации за неделю до открытий этой самой биржи.
Ты не понял сути вопроса, остряк. Вот дозадротил я жопаскрипт.инфо. Уже знаю дохуя методов, функций, конструкций. Имеет ли теперь смысл ебашить в либу и запоминать всё полностью или оно со временем компенсируется гуглом и опытом?
Могу только не ебало тебе нассать, даун. Тебя в Гугле забанили, уебище? Первая же ссылка по запросу js arrow function тебе все пояснит.
Тебе кажется, что знаешь. Все такими были. Садись и пробуй писать код. Можешь найти тестовые задания для джунов и пробовать выполнять.
Не надо зубрить. Все равно все гуглить будешь. Но знать что там есть нужно. Так что можешь просто прочитать разок, что бы потом знать что гуглить
Сейчас изучаю фронтенд, а конкретно джс, реакт. Более менее шарю в верстке, саас, адаптивности, кроссбраузерности, умею подключать и настраивать плагины типа слайдеров,галереи и тд.
Нужно в месяц версткой удаленно зарабатывать где-то 100 баксов, можете подсказать варианты заработка, что нужно нужно доучить чтобы столько получать?
а какого формата должно быть портфолио? Я делал эти тудуаппы типа, для каких-то курсов верстал стартовую страничку маил.ру, сверстал какой-то макет лендинга, сделал сайтец где погоду можно посмотреть, пытался сделать что-то вроде социальной сети, но дропнул. Правда дизайны которые я сам придумывал, то есть все кроме лендинга, какие-то стрёмные, но код вроде как вполне себе нормально написан.
github.com/goshan41k
Ты вроде не совсем чухан, так что дам совет. Я по реатковской экосистеме хз, у вью есть vuetify чтобы не ебаться с "дизайном". Прикрути подобное чтобы совсем хуево не смотрелось.
мимо
Спасибо, но мне кажется у меня в этом проблема, подобрать более-менее вменяемые стили я могу для каких-то отдельных элементов, но когда я их вместе компоную получается какая-то шляпа
Так используй либо готовые решения, либо пизди определённую цветовую гамму на весь проект а не отдльные элементы. Дезигнеры же пилят с учетом многих особенностей, в пизду ещё и на это время тратить.
Я понимаю, как В ЦЕЛОМ работают стрелки, то-есть вот есть метод сорт для массива, который мы применям с функцией, имеющей параметры (а,б). Мне не понятно, почему в этом случае (б-а) работает, как условие.
var selectedtext = window.getSelection().toString(); // записываю в переменную выделенный текст
var x = window.open('https://vipergirls.to/forum.php'); //открываю новую вкладку с сайтом в поисковую строку которого буду вставлять мою переменную
x.addEventListener('load', function(){ // жду загрузки новой страницы
x.$("input:text").val(selectedtext); // если бы взятый текст был бы с этого же сайта переменная не была бы пустой, с другого сайта, переменная исчезает.
x.document.getElementsByTagName('input')[17].click(); // жму на поиск.
}, true);
Как сохранить переменную?
В гугле сказали SessionStorage и localStorage не работают в разных доменах. Или их можно использовать?
Если можно использовать буфер обмена через execCommand (copy), execCommand (paste), подскажите как правильно встроить их в мой код?
Есть ли еще способы сохранить переменную?
Я JS не изучал, даже азов не знаю, изучать времени нет, скрипт мне нужен только лишь для букмарклета, чтобы автоматизировать рутину и все. Расширения браузера для моей задачи я не нашел.
>что я хочу получить
2-3к $/месяц
>что я для этого делаю
Пикаю цмку в керри
>что я вместо этого получаю
-25 рейтинга.
Помогите исполнить мичту
>arr.sort((a, b) => b - a);
(a, b) => b - a это анонимная функция, которая принимает a и b, и возвращает b - a.
>помогите перенести var взятую на одном сайте и вставить ее в поиск на другом
Ничего непонятно
arr.sort((a, b) => b - a); аналогично такой записи
var numbers = [4, 2, 5, 1, 3];
numbers.sort(function(a, b) {
return a - b;
});
Тут читай об этом https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Array/sort
>>что я хочу получить
>2-3к $/месяц
Чтобы столько получать, нужно сначала начать получать хотя бы 200-500$ в месяц
Спасибо большое! Разобрался! Это условие, получается, работает с конкретным методом сорт.
Всем спасибо за ваши пояснения.
Раз ты даже в игре для отсталых не можешь взять человеческий ммр, о каком войти в айти речь? Если бы тебе было достаточно не похуй, ты бы не задавал здесь подобное вопросы
Про доту ты хорошо сказал, тут сыглы++, не играю серьёзно синс 2015. А теперь выключи токсика и расскажи как нормальный человек сколько примерно по срокам и чего конкретно нужно учить чтобы выйти хотя бы на $500?
Тогда душишь гордость и пиздуешь задрачивать html(лучше с препроцессором Pug) семантическая разметка, css (less/sass) адаптивная верстка, git уровня init, -add, commit, pull, merge, push, JS https://learn.javascript.ru/ 1 часть до 6 главы включительно, jquery уровня повесить клик на элемент, отправить форму по http, изменить удалить классы/аттрибуты у элементов, учишься пользоваться инструментами разработчика. Этого более менее достаточно чтобы проникнуть на должность версталы, откуда потом углублясь при желании можно уйти в полноценный фронт, или задрочить пиздатую верстку настолько что будешь получать не меньше реакто-блядей. Как долго займёт? В рот не ебу какие у тебя интеллектуальные данные и способность к обучению.
Изи же. Копируй текст в буфер обмена через
navigator.clipboard.writeText. На второй странице поставь listener чтобы при открытие вкладки переменной присваивалось значение из clipboard
Месяцев 6 минимум это займет
>html, css
Чек, но вёрстку поебашить придётся.
>Pug, less/sass
Не чек
>git
Чек
>JS до 6 главы
Почему не весь? Дальше типо не нужен? ООП? Перехват ошибок? Модули? DOM?
Пчел, речь про вакансию версталы
> JS, потому что код на JS преобразовывается V8 в машинный на лету.
Конкретно в uWS такой перформанс за счёт крестов. Я не понимаю, ты троллишь?
> Уже может. Открой в хроме несколько страниц и посмотри количество процессов хрома в ОС. Их будет несколько. В ноде это тоже уже есть.
Правильно реализовывать потенциал многоядерных процессоров не может, это не то, и не сможет никогда из-за особенностей реализации языка. Запустить по одному процессу на ядро — охуеть многопоточность, по сравнению с многопоточностью в го это не сравнится. Про кластеры и воркеры я знаю, я же бекендер на ноде. В го лайтвейт потоки, стек сайз одной горутины начинается с 2 кб. Запустишь миллион нодопроцессов на одной машине? Да хотя бы 100к. Вопрос риторический. А коммуникацию между процессами вообще с ума сойдешь делать.
Спасибо.
Погуглил сам - никакой конкретики, всё описано отрывками, в основном под другие среды.
Я пользую Vue(-tify).
Поставил Webpack Bundle Analyzer - получил пикрилейтед.
Я давно за жсом не следил, и чет вообще нихуя не понимаю - если раньше в каком-нибудь ЭкстЖс все логично начиналось с Экст Модели, то современные фреймворки говорят - ебись с моделями сам как сможешь, нам похуй, мы в туториалы ваще нетипизированные структы засунем.
>Конкретно в uWS такой перформанс за счёт крестов.
Язык PHP как и его модули написаны на Си. И что ты скажешь? Только из-за плохого кода, до 7 версии PHP был медленным. Это значит, что для хорошего перформанса недостаточно просто написать на C/C++ язык или сетевой стек. Чтобы было быстро нужно грамотно написать.
V8 и нода реализованы на C++. Сетевой стек в ноде тоже на C++. Чувак посмотрел код ноды, потестил, и сделал вывод, что код медленно работает. Поэтому написал свой сетевой стек для ноды вместо родного. Получилось быстрее в несколько раз.
Как бы ты не горел, но JS производительный. Не потому что написан на C++, а потому что V8 грамотно написан. Если компилируемый Go может проигрывать ноде и джаве, то это вина тех кто его пишет, а не заслуга C++. Если ноду всю переписал бы гугл или тот чувак, то она была бы быстрее go, java и многих других.
JS за счет V8 может выжимать из каждого процесса максимум. Go так не может, потому что в JS есть event loop.
>Правильно реализовывать потенциал многоядерных процессоров не может, это не то, и не сможет никогда из-за особенностей реализации языка.
Пруфы предоставь. Что значит правильно? JS в браузере уже несколько лет может юзать потоки, а также процессы без кластера.
>Запустить по одному процессу на ядро — охуеть многопоточность, по сравнению с многопоточностью в го это не сравнится.
Процессы это не многопоточность. Не знаю как в Go с процессами, но славится он конкурентностью, за счет так называемых green threads. Это не потоки ОС вообще то, а виртуальные потоки внутри рантайма Go.
Смысл запускать больше одного процесса на ядро? Обычно кол-во процессов всегда соответствует кол-ву ядер. А вот в процессах уже неограниченное кол-во потоков, столько на сколько хватит ресурсов.
>Запустишь миллион нодопроцессов на одной машине?
Для чего? Нода даже в одном потоке отлично себя показывает, поэтому миллион потоков не нужен, нет такой задачи.
>В го лайтвейт потоки, стек сайз одной горутины начинается с 2 кб
Пишут 4-5. Еще пишут, что в Го потоки оборачивают потоки ОС. Если так, то думаю на ноуте миллион потоков ты не поднимешь. В Эрланге поток занимает 2,5 кб, а виртуальная машина стартует за 50 миллисекунд. Вот там миллион и более потоков поднимают на ноуте спокойно.
>Конкретно в uWS такой перформанс за счёт крестов.
Язык PHP как и его модули написаны на Си. И что ты скажешь? Только из-за плохого кода, до 7 версии PHP был медленным. Это значит, что для хорошего перформанса недостаточно просто написать на C/C++ язык или сетевой стек. Чтобы было быстро нужно грамотно написать.
V8 и нода реализованы на C++. Сетевой стек в ноде тоже на C++. Чувак посмотрел код ноды, потестил, и сделал вывод, что код медленно работает. Поэтому написал свой сетевой стек для ноды вместо родного. Получилось быстрее в несколько раз.
Как бы ты не горел, но JS производительный. Не потому что написан на C++, а потому что V8 грамотно написан. Если компилируемый Go может проигрывать ноде и джаве, то это вина тех кто его пишет, а не заслуга C++. Если ноду всю переписал бы гугл или тот чувак, то она была бы быстрее go, java и многих других.
JS за счет V8 может выжимать из каждого процесса максимум. Go так не может, потому что в JS есть event loop.
>Правильно реализовывать потенциал многоядерных процессоров не может, это не то, и не сможет никогда из-за особенностей реализации языка.
Пруфы предоставь. Что значит правильно? JS в браузере уже несколько лет может юзать потоки, а также процессы без кластера.
>Запустить по одному процессу на ядро — охуеть многопоточность, по сравнению с многопоточностью в го это не сравнится.
Процессы это не многопоточность. Не знаю как в Go с процессами, но славится он конкурентностью, за счет так называемых green threads. Это не потоки ОС вообще то, а виртуальные потоки внутри рантайма Go.
Смысл запускать больше одного процесса на ядро? Обычно кол-во процессов всегда соответствует кол-ву ядер. А вот в процессах уже неограниченное кол-во потоков, столько на сколько хватит ресурсов.
>Запустишь миллион нодопроцессов на одной машине?
Для чего? Нода даже в одном потоке отлично себя показывает, поэтому миллион потоков не нужен, нет такой задачи.
>В го лайтвейт потоки, стек сайз одной горутины начинается с 2 кб
Пишут 4-5. Еще пишут, что в Го потоки оборачивают потоки ОС. Если так, то думаю на ноуте миллион потоков ты не поднимешь. В Эрланге поток занимает 2,5 кб, а виртуальная машина стартует за 50 миллисекунд. Вот там миллион и более потоков поднимают на ноуте спокойно.
Ну собсна тебе аналайзер и расписал что столько весит. Ты тянешь всю библиотеку Vuetify целиком, а она дюже большая. Конечно с минификацией и гзипом все не так ужасно будет, но все равно. Можешь попробовать настроить три шейкинг, если эта либа его поддерживает, тогда будут использоваться только те компоненты, которые импортируются.
>Как избавиться от окр? Иногда сижу по десять минут придумываю красивое название переменной, если не могу придумать - забиваю и начинаю заниматься всякой хуйней.
Ты сам себе диагнозы ставишь? Лол. Это не ОКР. Почитай сначала что это такое.
Никак особо. Я иногда кряхчу полчаса, в итоге все-таки придумаю нормальное название и еду дальше. Если долго не придумывается, проблема может быть в том, кто у тебя что-то не так в архитектуре и поэтому сложно определить сущность, которую ты пытаешься назвать.
синьор-помидор
есть какой ни будь Override оператор? Я даже хуй пойму, какой ниже - я использую готовые компоненты и туда добавляю свои правки.
Какой лентяй? Я могу сидеть целый день если нормальные названия переменных прут
> туда добавляю свои правки.
Нужно было смотреть конференции яндекса по БЖУ. Создаешь новую папочку со стилями и настраиваешь бандлер чтобы это папочка шла в самом низу
Да я и не говорю, что V8 медленный или плохой. Но он однопоточный, а го нет. Ты можешь несколько экземпляров V8 запустить, это максимум, что может нода.
> Если компилируемый Go может проигрывать ноде и джаве, то это вина тех кто его пишет, а не заслуга C++
Нода просто технически не может быть быстрее Go, потому что гринтредов нету. То, что C++ быстрее Go не является виной разрабов Go. uWS - это не нода и не v8, это отдельная C++ либа.
> Если ноду всю переписал бы гугл или тот чувак, то она была бы быстрее go, java и многих других.
Не была бы, потому что нода подразумевает однопоточность. Если реализовать с нормальной многопоточностью, то это будет уже не JS и не нода.
>Пруфы предоставь. Что значит правильно?
Что тебе предоставить, что v8 однопоточен? Ты это и сам знаешь, только зачем-то тут виляешь. Правильно это когда есть нормальные инструменты коммуникации между потоками, и когда эти потоки вообще есть. У Go есть горутины и каналы. У JS ничего нет, запускаешь по процессу на ядро и с коммуникацией дальше самому ебаться надо (Inter-Process Communication), это ад с мьютексами и прочими семафорами, ну и потребление памяти намного хуже, чем у Go.
>JS в браузере уже несколько лет может юзать потоки, а также процессы без кластера.
Нету у JS потоков.
>Пишут 4-5. Еще пишут, что в Го потоки оборачивают потоки ОС. Если так, то думаю на ноуте миллион потоков ты не поднимешь. В Эрланге поток занимает 2,5 кб, а виртуальная машина стартует за 50 миллисекунд. Вот там миллион и более потоков поднимают на ноуте спокойно.
Лет 8 назад было 4кб, потом сделали 8кб, и вскоре после этого 2кб 5+ лет назад.
Нет, это не обёртки ОС тредов, ты же сам выше писал, что знаешь, что это виртуальные потоки в рантайме. Это в джаве ОС треды юзаются, например. А в го можно 1кк горутин запустить с 2 гигами памяти.
С Эралнгом Го нормально способен конкурировать. У го обычно ниже latency, выше производительность по вычислениям, по raw rps, 1 млн и выше горутин он может запустить, хотя у Эрланга скорость спавна большого количества потоков выше. Но у Эрланга много других преимуществ. Не знаю зачем ты вообще пытаешься такие вещи с JS сравнивать. В JS нету лайтвейт тредов, нету шедулера для этого, нету каналов или другого метода коммуникации...
Да я и не говорю, что V8 медленный или плохой. Но он однопоточный, а го нет. Ты можешь несколько экземпляров V8 запустить, это максимум, что может нода.
> Если компилируемый Go может проигрывать ноде и джаве, то это вина тех кто его пишет, а не заслуга C++
Нода просто технически не может быть быстрее Go, потому что гринтредов нету. То, что C++ быстрее Go не является виной разрабов Go. uWS - это не нода и не v8, это отдельная C++ либа.
> Если ноду всю переписал бы гугл или тот чувак, то она была бы быстрее go, java и многих других.
Не была бы, потому что нода подразумевает однопоточность. Если реализовать с нормальной многопоточностью, то это будет уже не JS и не нода.
>Пруфы предоставь. Что значит правильно?
Что тебе предоставить, что v8 однопоточен? Ты это и сам знаешь, только зачем-то тут виляешь. Правильно это когда есть нормальные инструменты коммуникации между потоками, и когда эти потоки вообще есть. У Go есть горутины и каналы. У JS ничего нет, запускаешь по процессу на ядро и с коммуникацией дальше самому ебаться надо (Inter-Process Communication), это ад с мьютексами и прочими семафорами, ну и потребление памяти намного хуже, чем у Go.
>JS в браузере уже несколько лет может юзать потоки, а также процессы без кластера.
Нету у JS потоков.
>Пишут 4-5. Еще пишут, что в Го потоки оборачивают потоки ОС. Если так, то думаю на ноуте миллион потоков ты не поднимешь. В Эрланге поток занимает 2,5 кб, а виртуальная машина стартует за 50 миллисекунд. Вот там миллион и более потоков поднимают на ноуте спокойно.
Лет 8 назад было 4кб, потом сделали 8кб, и вскоре после этого 2кб 5+ лет назад.
Нет, это не обёртки ОС тредов, ты же сам выше писал, что знаешь, что это виртуальные потоки в рантайме. Это в джаве ОС треды юзаются, например. А в го можно 1кк горутин запустить с 2 гигами памяти.
С Эралнгом Го нормально способен конкурировать. У го обычно ниже latency, выше производительность по вычислениям, по raw rps, 1 млн и выше горутин он может запустить, хотя у Эрланга скорость спавна большого количества потоков выше. Но у Эрланга много других преимуществ. Не знаю зачем ты вообще пытаешься такие вещи с JS сравнивать. В JS нету лайтвейт тредов, нету шедулера для этого, нету каналов или другого метода коммуникации...
какие нахуй конференции? Я эту верстку на хую вертел. От чмошников для чмошников - не могут обычную перегрузку сделать, этому говну 20+ лет, а до ума довести не могут
Это потому что js медленный, или потому что манипуляции с dom медленные?
Какую перегрузку тупопездыш? В самый низ поставил свои каракули и все блять. Сделали так чтоб каждый тупорылик понял и все равно находятся недовольные
в какой нахуй низ? Я использую компоненты со стилями, которые идут из библиотеки. Мой CSS файл не делает перекрытие стилей этого компонента.
Манипуляции с дом. Это одно из узких мест в вебе
>Да я и не говорю, что V8 медленный или плохой. Но он однопоточный, а го нет.
Нет
>Ты можешь несколько экземпляров V8 запустить, это максимум, что может нода.
Нет
>Не была бы, потому что нода подразумевает однопоточность.
Не подразумевает. Запускается на каждый поток по эвент лупу.
>Правильно это когда есть нормальные инструменты коммуникации между потоками
Есть разделяемая память и способы работы с ней
>Нет, это не обёртки ОС тредов, ты же сам выше писал, что знаешь, что это виртуальные потоки в рантайме.
Эти потоки ложатся на потоки ОС. Потому что рантайм примитивный. Это же не виртуальная машина.
>А в го можно 1кк горутин запустить с 2 гигами памяти.
Сомневаюсь.
>>37119
Формат пикчи не поддерживается. Смотри здесь https://thumb.tildacdn.com/tild3439-3466-4132-a163-303062373338/-/resize/760x/-/format/webp/14.png
720x1280, 0:03
>банальную
эта хуйня из жопы не подчиняется законам логики
Один пидарас лет так 12 назад дал мне охуенный совет - "Попробуй попрагромировать. Какой язык? Html попробуй, а там Css". Вот 12 лет назад я на голом html склепал какую то уебищную хуйню, от которой меня затошнило и понял - хуевый из меня прогер будет, пойду в бухгалтеры. В итоге жизнь меня таки свела с разработкой, но только на нормальном языке - Java. Я просто влюбился в него. Я и сейчас любому обрыганному верстальщику могу пояснить за ООП, дискретку и архитектуру приложений.
Но ненависть и отвращение к ебаной верстке так и осталась.
Что то я сильно распыляюсь перед верстальщиков, поэтому - пошел нахуй, грязь
>нормальной языке
>Java
Как у тебя оперативки хватило чтобы параллельно браузер запустить и высрать про неосиляторство простейшей вещи, вот вопрос.
>перед верстальщиков
Чини детектор
>от которой меня затошнило и понял - хуевый из меня прогер будет
Ладно если по малолетству "тошнит" от какой-то технологии или инструмента, но ты уже не ребёнок, может как-то без инфантильных замашек восьмиклассницы?
Один мудрый сеньор сказал мне однажды: Жава - это крепкий стоячий 22 см член, а ЖС - это дилдак, на первый взгляд функционал схож, но дилдак от этого не перестает быть дилдаком
Пока веб-макаки решают прикладные задачи с помощью своих инструментов, попутно улучшая их, java-господа обсуждают какой из инструментов больше всего походит на репродуктивный орган человека, насколько крепкий и как по ощущениям. Исчерпывающе.
Охуеть ты перса в симсах раскачал конечно.
console.log("First: " + text[0] + "\n" +
"Last: " + text[text.length - 1]);
кинуть на песочницу/сделать скрин не можешь ты, а пидоры - говнокодеры? кх тьфу тебе в ебало, необучаемый, если ты с этим справиться не можешь - куда тебе дальше?
как по нотам разъебал чайного петуха
Пчел, ты... На кой тебе песочница? Там тупо строковая переменная и этот вывод. Я просто спрашивал нормально ли так писать или делать вторым сонсольлогом.
Но для jsx нужно тянуть еще и бабел. Можно как-то без него обойтись (но чтоб с jsx)? Или отрезать все, кроме преобразования jsx?
И?
Мне что-то подсказывает что ты творишь хуйню. То что ты не хочешь тянуть зависимости говорит о том что реактовский функционал тебе нужен уровня "ой тут кнопочка нажалося и засвистело запердело", значит он избыточен, и видимо на ванилла жсе ты высрать это не в состоянии, вопрос, какого хуя ты полез во ФРЕЙМВОРК до изучения ванилла жса?
Скрипт для себя. Он готовый на ваниле, но хочу переделать на рякте для практики рякта.
Но от метил вот что - обе строки:
let serv = http.Server()
или
let srv = new http.Server()
интересно что в доке по node js - http.Server определен как класс. А это значит что let serv = http.Server() - должно выдавать ошибку - создавать экземпляр класса можно только используя new.
Полез в исходники ноды - похоже класс http.Server реализован на тайпскрипт, и поэтому позволяет как и так и так создавать объект server
создают объект сервера. Однако в JS
>интересно что в доке по node js - http.Server определен как класс. А это значит что let serv = http.Server() - должно выдавать ошибку - создавать экземпляр класса можно только используя new.
В JS и функция и прототип являются объектами. let serv = http.Server() это присвоение результата выполнения функции в переменную.
>оперативки хватило
твое ебало на пике
>как-то без инфантильных замашек
делать то, что не нравится - инфантильные замашки? И да, я фронт и прочую хуйню сам делаю, т.к. с этим даже обезьяна справится, а индусу или ивану на аутсорс отдавать - зашквар. А по поводу неосиляторства - ты видимо не разделяешь логическую задачу и "как высрали в вебе". Весь фронт - удел обезьян по обезьяньим правилам. Поэтому и горит жопа.
>боевая картинка трёхлетней давности от ява петушары
>даже обезьяна справится
И даже в самом простом пункте удела обезьян ты обосрался
import React, { Component } from 'react';
или:
import { connect } from 'react-redux';
Где именно js находит 'react' и 'react-redux'?..
Мне интересно, как именно жс их находит
Если речь про «сырые» модули, то такая запись вообще не будет работать, потому что там все импортируется по относительному урлу, как и все прочие ассеты. Так что говорить что JS что-то там находит не вполне корректно.
Находит и подключает модули в такой записи, как правило, бандлер, например, вебппак. Его базовая схема ресолва таких путей скопирована у ноды: https://nodejs.org/api/modules.html#modules_loading_from_node_modules_folders Он берет родительскую директорию, смотрит есть ли там node_modules и ищет там. Если нет, то поднимается выше. И так пока до корня не дойдет. Собсна так работают глобальные модули, если в node_modules проекта его нет, то вебпак все равно его найдет в корневой папке пользователя (хз что там на винде, но думаю что что-то похожее).
Это базовая схема, но вебпак можно настроить ресолвить модули из любых папкок, сделать алиасы и всякие хитрые условия.
По этому принципу, насколько я знаю, работаю все бандлеры.
Открой MDN, найди API хтмл-элемента, изучи его, меняй что хочешь.
Читай что такое модули ES6
Хорошо, напишу задачи скрипта словами. Захожу на сайт n4mo.org, вижу красивую модель, хочу увидеть указанный сет с ней. Выделяю имя, затем нажимаю на букмарклет, букмарклет открывает новое окно с сайтом vipergirls.to и вводит выделенное мною имя на предыдущей странице в поиск и жмет искать, я смотрю результаты выдачи.
Мой скрипт выше работает, только если я выделю слово (имя модели) на сайте vipergirls.to, если я выделю слово на сайте n4mo.org, переменная исчезнет, как только скрипт откроет новое окно с сайтом vipergirls.to, потому что DOM перезапишется.
Как сохранить имя модели до момента вставки в поле поиска?
анон выше уже упоминал, тебе нужно скопировать в буфер обмена, перейти на сайт, из буфера хуярить в поиск
Это было бы отличным решением, но в Хроме это не работает. Вот такая команда к примеру var buffer = navigator.clipboard.readText(); Все время выдает: DOMException: Document is not focused. Из консоли. У Chrome стоят какие то ограничения, которые я не знаю как отключить или обойти, хотя у сайта стоит разрешение на доступ к буферу обмена.
И действительно! Только что создал букмарклет с таким проверочным кодом.
if(navigator.clipboard){
var buffer = navigator.clipboard.readText();
buffer.then(function(text){alert('текст буфера: '+text);}).catch(function(err){alert('ошибка: '+err);});
}else alert('navigator.Clipboard не работает.');
Отобразил текст скопированный из блокнота!
Огромное спасибо анон, буду двигаться в этом направлении. Странно что консоль такую подставу делает.
>три шейкинг
https://vuetifyjs.com/en/customization/a-la-carte/
Вроде как автоматически работает: "Treeshaking will only work with Webpack 4 in production mode. This is automatic when using Vue CLI."
Не знаю как проверить результат работы этой фичи. Может оно вобще пролетело мимо над проектом.
>Конечно с минификацией и гзипом
Про гзип пока не нашёл.
Поставил терсер и запорол проект: съело все стили и навигацию, весь текст в кучу.
Слава богу есть резервка и гитхаб.
При билде в продакшн получаю пик.
При минификации должен получиться один *.js файл?
Как при помощи JavaScript производить вычисления на GPU во вкладке браузера?
Ты так много не намайнишь. Видимокарта - не процессор, пользователь мигом заметит разогрев и шум.
Минификация - это удаление пробелов и прочего лишнего, js в одну строчку в файле для экономии размера итогового. Иди раскуривай вебпак, очевидно ты не понимаешь нахуя у тебя те же чанк вендоры на выходе.
ну у меня есть там пара учебных проектов с не самым красивым дизайном, но код вполне себе сносный, но такое ощущение что его не смотрят. Может HR сразу скипает если видит что ты на джуна претендуешь
Там куча болерплейта, конекторы и провадеры, который нужно постояно писать и ебучие редюсеры которые выглядят как смесь стейта и мутации.
Ну да дизайны говно, почему бы не взять ui либу и быстро накидать компоненты? И сделай сайт портфолио, где напиши в друх словах о себе, замути страницу с работами где коротко опишешь чё за проекты, на каком стеке и ссылки на них.
плюсую, кстати, я сам начинал изучать фронт с реакта, и когда докатился до редакса, а потом реакт-редакса, а потом миддлваров - охуевал просто, как это всё громоздко. А потом когда подошёл ко вью буквально за неделю со всей экосистемой познакомился из официальной документации, всё просто и лаконична.
думаешь мне какой-нибуть vuetify поможет или materialize? Мне кажется я могу нормальные стили подобрать для отдельных компонентов, но когда доходит до компоновки их на странице - всегда какая-то шляпа получается, и вообще не сочетается, и цвета говно. Самое грустное что я сам смотрю на это и понимаю что говно, но что изменить надо не понимаю
vuetify это materialize в мире вью. Бери его и перепиши хотя бы тудушку. На лендосе пропиши якоря для ссылок и замени текста на нормальные.
ладно, спасибо, буду пробовать
Я криво объяснил.
В ноде есть объект http.Server(), и это класс.
В JS - класс может вызываться только через new.
В ноде можно создать объект сервера как так:
let srv = new http.Server()
так и так
let serv = http.Server()
Я поглядел в исходном коде - клаcс http.Server в ноде реализован в раздел TypeScript.
Тоесть в TypeScript с помощью класса можно создавать экземпляр класса как через New, так и просто вызвав клас как функцию?
Some good shit
Писал я раньше скриптики, на ванилле или на жкьюри (не бейте плез, я только вкатываюсь), просто вставлял пару в низ html страницы через тег script. Недавно установил с помощью npm пару разных либ, обе залились в директорию node_modules, как правильно их подключить в темплейт?..
и где это все располагать? Архитектура по типо той что внизу?
/project
|--/html_files
|--|--main.html
|--|--login.html
|--/node_modules
Тебе нужен бандлер, который вытащит их из node_modules и упакует проект в один js-файл. Иди купить вебпак.
Для локальной разработки ты можешь создать файл, например index.js подключить его в html и в нём импортировать либы. Если тебе надо будет всё это собрать, что бы не тащить весь node_modules, то нужен будет бандлер, например webpack.
Можно ли писать присвоение результату как я написал или лучше явно делать через
result = `${result}${string}`
?
Дело вкуса, мне больше нравится `${result}${string}`
Блин ну хрен знает, я может думал вообще убрать href (пустую строку оставить, чтоб ничего не ругалось), поставить onclick event и там сделать сначала передачу, потом уже редирект. Только я хз как редирект в жс делать, я вообще на питоне пишу
Конкретно: если пользователь перехолит по ссылке, то данные которые он ввел в input и еще не успел отправить передаются перед редиректом и таким образом сохраняются
Если у тебя знания не на уровне хелоуворда и ты умеешь читать доки, то перекатиться то легко. Другое дело что язык c++ не для формошлепства придуман и скорее всего потребуется знание других нормальных наук
в реакте разве нет жизненного цикла компонента?
Ты что-то глобально не так делаешь. Как вообще может быть запрос к серверу во время отрисовки? Если код реакта начал выполнятся, значит страница должна быть уже загружена.
Есть редко подходящий вариант поменять <a> на задизайненный <input type=submit>, и отправлять по тому хрефу форму с данными
Ксати это не работает. В общем и это не работает. Объясню ситуацию. Есть кнопка. По ее нажатию вызывается функция, она проверяет инпут, и если все норм, то она ращрешает выполнять код дальше. Так вот. Как мне не выполнять основной код, пока не выполниламь эта функция?
Моя задача - блокировать экран с помощью передачи функции в dispatch redux, когда идет загрузка страницы.
Клиент кликает по странице, должны прогрузиться поля, но пока идет ajax запрос - страница заблокирована страницей загрузки (условно обычным Loading bar). Это я передаю в UseEffect. Все хорошо - Ajax запрос принимается и выполняется, но вот диспатч не происходит, точнее вызывает рекурсию). Хуй пойму в чем дело и как правильно выстроить цепочку вызовов, но погуглив я нашел метод componentDidMount - который вызывается, когда страница отрендерина. Но т.к. я пишу в функциях и я не могу затригерить эту функцию внутри конструктора - то происходит жопа, которую я описал выше
Бамп
У меня вызывает вопросы КАЖДОЕ твое слово. Ты точно понимаешь что делаешь?
Полный аналог componentDidMount в useEffect:
useEffect(() => { ... }, [])
ты же можешь сделать лоадер поверх страницы, который показывается когда ты стартуешь аякс запрос, и при его окончании с каким нибудь делеем - убираешь этот лоадер, не?
Никак. Стопать выполнение кода это в принципе неверный подход. Надо использовать промисы или коллбеки.
лучше опиши прикладную задачу, ты это делаешь для чего? потому что звучит как полнейшая ебола
Мне нужно чтобы пользователь не видел игровое поле сразу. Вот высвечивается окошко, там предлагают ввести размер. Также там есть кнопка начать. Вот чтобы пользрватель хуету не ввел нужно сначала проверить данные, а потом начать игру. При этом страница не должна перезагружаться
Эээ, а в чем проблема то?
const onSubmit = () => {
const data = getFormData();
const isOk = validateData(data);
if (isOk) {
startGame();
} else {
showError();
}
}
onSubmit вешаешь на кнопку собсна.
Когда я запихнул остальной код в функцию, то он перестал работать. Может потрму что там используется EventListener какой то. Там половина кода спизжена и я хз как часть работает. Но в общем он не работает когда он в функции.
>В ноде есть объект http.Server(), и это класс.
var http = require('http') - переменная http здесь становится объектом.
var bla = http.Server(); - здесь также переменная bla становится объектом.
Не забывай, что классы в TS будут компилироваться в JS, в котором классов нет, и вообще система типов другая.
Поставь display:'none" и снимай когда нормальное число введут. Самый даунский способ, но 100% будет работать даже если у тебя совсем индусский код.
Толи я тебя не пойму, то ли мы о разном говорим.
По итогу в тайпскрипте класс можно вызывать как функцию без new?
почему его, а не реакт?
У тебя же на скрине твоем написано сколько будет весть gzip.
Сжимает твой бандл тот, кто отдает статику (Express или nginx например)
https://nginx.org/ru/docs/http/ngx_http_gzip_module.html
В небытие уходит Угловик.жс, то есть старая версия.
Нашел я, значит, менеджер скриптов для хрома, пока единственный, который подходит моим задачам, из-за так называемых "steps":
https://chrome.google.com/webstore/detail/scriptrunner/nilfinipmkbgemlbmohlildijohlniho/
Автор заявил, что расширение может выполнять js код на многих страницах по шагам. Пикрил он объяснил как это работает. Но на практике я не понял, как запустить следующий шаг после нулевого. Нужно в коде что то прописать чтобы шаг 1 выполнить?
Например:
На шаге 0, я открываю новую вкладку.
window.open('https://www.google.com/');
А на шаге 1 хочу закрыть ее.
window.close();
Расширение выполняет только шаг 0 и все, нужно после открытия окна прописать что-то типа go to step 1? Чтобы на новой вкладке скрипт продолжился? Или автоматом должен выполняться? На деле ничего не работает.
Как думаешь, что подразумевал разраб, на пикриле? Связаться с ним нет возможности, расширению 8 лет. Может оно не работает? Ну или конечно я тупой.
Да срал я на криптоговно с высокой колокольни. С той сложностью майнинга, которая сейчас у криптовалют, майнить их бессмысленно, ИМХО.
Но, что если задача состоит сбрутить что-нибудь, или рассчитать по формуле, используя параллелизм? GPU быстрее будет, нежели CPU.
Используй Post Message и один скрипт на все страницы.
https://habr.com/ru/company/rambler-co/blog/422545/
Ну или какой-нибудь puppeteer
Не-не, всё норм.
Поставил CompressionPlugin - он пережал почти всё в джи-зип.
Почему-то строчка вынесена в отдельный файл, лол (см. пик)
Не смог найти как поменять настройку ратио в плагине, поэтому дожму сторонней утилитой.
Сейчас проблема в том, что vue-socket.io клиент похоже ожидает на другом конце vue-socket.io сервер и не хочет вязаться с реализацией ws сервера на ESP32.
Ищу обходные пути.
держу-в курсе-событий
Use Soccket JS, Luke.
Плохому танцору все, что годно мешает.
Проще и вымайнить блокчейны с нуля, на низкой сложности, чем тянуть эти на высокой, или тем более - покупать криптоговно.
Сатоши Накамото не учёл, что это явление и есть одна большая двойная трата, лол.
webgl
обычно пишу на чистом руби, повесили доделать плюху с jquery, не выходит, хотя задача примитивна
есть 2 пакета товаров
в каждом из них список товаров
в каждом есть обязательные к покупке
если обязателен -- чекбокс меняется на иконку и блокируется, а цена скрывается
всё бы ничего, но при переключении между пакетами
чекбоксы и иконки должны меняться согласно пакетам
всё сделал, кроме одного
Example.find(#hideprice).show(); не работает
так же в ручную поменять с помощью .css не работает
.attr("hidden", false) не работает
.replaceWith("<td></td>")
и позже .replaceWith( $("#hideprice") ) когда #hideprice даже не скрыт -- тоже не работает
в чём может быть проблема??
вот именно что скрыть работает, а обратно нет
Фигасе, то есть ты сидишь на работе, деньги получаешь, а я, на пособии 1500 руб в мес, должен за тебя писать код, да еще и на вонючем жукверике.
А кто тебе тогда там чего повесил? Нахуй шли его, а если приставать будет - ебло разбей в ноль. Жукверик блять, в 2020 году нахуй
та ёптыть, самому уже интересно какого чёрта не работает, поглощенный этим вопросом просидел до 5 утра, лёг спать -- не спится, хочется узнать решение этого говна
Ну скинь мне тогда скриншоты описывающие проблему, на слух так сложно определить
require() используется только на бэке в Ноде?..
>в чём может быть проблема??
В том, что ты не читая шаку вваливаешься в тред, и расчитываешь на помощь.
Иди рисуй пример своего кода, который работает не так, как ты хочешь. Потом прходи снова.
https://jsfiddle.net/
Эта парадигма слегка устарела уже. Не обязательно все так делить именно так. Если хедер маленький, то пусть будет просто Header. Если большой, то создаешь вместо Header.js директорию Header и внутри плодишь субкомпоненты — типа HeaderLogo, HeaderMenu и т.д.
Ну и всякую общую шнягу типо кнопок желательно выносить выносить в общие компоненты, конечно.
Не не не. Как разбивать я более-менее разобрался. Вопрос именно в том как называть компоненты
Ты дурак? •_•
>Вопрос именно в том как называть компоненты
Просто Header. Не надо выделять какие-то контейнеры на пустом месте.
setTimeout(() => {
throw new Error("Whoops!");
}, 1000);
}).catch(alert);
Как было сказано в главе, здесь присутствует "скрытый try..catch" вокруг кода функции. Поэтому обрабатываются все синхронные ошибки.
В данном примере ошибка генерируется не по ходу выполнения кода, а позже. Поэтому промис не может обработать её.
Как тогда обработать эту ошибку?
И какое решение второго видео? Там же в одну строку через редусе?
переменная-аккумулятор
Жопа =D
reject вместо throw
Вы токсики, я ливаю.
Бля, у тебя никогда желания не было интерфейсы в отдельный файл вынести? Та же логика, но только со вспомогательными функциями и переменными.
Ну я про то, что где-то файлы просто лежат в папке utils и называются filename.ts, а кто-то еще добавляет префикс .utils к файлу. Нигде такого не встречал просто, так думаю стоит ли запариться и юзать это везде.
Спасиб. Пошел гуглить
Как жопаскрипт понимает, что r это респонсес?
Икс передаётся аргументом. Может сам цикл реализован так, чтобы следующие функции понимали, что икс это икс. Но вот как они реализованы, это загадка, мда...
Он черпает информацию из космоса.
С Божьей Благодатью неизвестным нам образом.
это сахар, под капотом обычные промисы
ПЕРЕКАТ >>1739473 (OP)
ПЕРЕКАТ >>1739473 (OP)
ПЕРЕКАТ >>1739473 (OP)
ПЕРЕКАТ >>1739473 (OP)
ПЕРЕКАТ >>1739473 (OP)
ПЕРЕКАТ >>1739473 (OP)
ПЕРЕКАТ >>1739473 (OP)
ПЕРЕКАТ >>1739473 (OP)
ПЕРЕКАТ >>1739473 (OP)
ПЕРЕКАТ >>1739473 (OP)
ПЕРЕКАТ >>1739473 (OP)
ПЕРЕКАТ >>1739473 (OP)
ПЕРЕКАТ >>1739473 (OP)
Сначала проверь требуется ли импорт при вызове с префиксованного файла.
Как минимум файлы .d.ts не требуют импорта, но это имеет смысл в контексте ts, так как в конечном итоге он компелируется в ванильный js.
https://www.youtube.com/watch?v=_cGOQbJehBQ
Пащиму ссанина, работат же)
Вы видите копию треда, сохраненную 7 декабря 2020 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.