Это копия, сохраненная 5 августа 2022 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Больше пары строк кода в посте или на скриншоте ведут в ад.
Для программирования на HTML https://codesandbox.io
Для Node.js с консолькой https://repl.it/languages/nodejs
Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: «что я хочу получить, что я для этого делаю, что я вместо этого получаю». Если/когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
Документация - https://developer.mozilla.org
Руководство для вката - https://github.com/acilsd/wrk-fet#javascript
Стоит ли использовать бессерверные вычисления для бекенда на ноде? Это дешевле чем vps или нет?
https://dev.to/azure/is-serverless-really-as-cheap-as-everyone-claims-4i9n
Если у тебя не миллионы запросов в час, то копейки, либо вообще бесплатно. Жаль только ноду используешь. Это говно отжирает дохрена ресурсов и человеко-часов.
>Дешевле если ты не умеешь администрировать vps.
Не умеешь что именно?
>>0393
>Считай бесплатно
Толстовато. Как насчет хабраэффекта или дидоса?
>>0396
>Если у тебя не миллионы запросов в час, то копейки, либо вообще бесплатно
Как понимать это ваше "бесплатно"?
>Жаль только ноду используешь. Это говно отжирает дохрена ресурсов и человеко-часов.
Наоборот же по ресурсам не плохо. Почему человеко-часы отжирает? Наоборот же быстрая разработка. Что предлагаешь использовать?
>>0393
>>0396
Очень боюсь модели оплаты за ресурсы, потому что кто знает что произойдет, вырастет внезапно потребление и деньги потекут. Вот есть у меня желание создать сервис. В RU сегменте есть распиаренный аналог. Боюсь они сразу же начнут меня дидосить. Как тогда все это будет работать? Ведь повысятся запросы и я могу попасть на соти или тыщи баксов в сутки.
Решил вкатиться в веб, начал смотреть про эти ваши хтмл цсс жс, и решил тут уточнить.
Сколько вообще занимает обучение сайтошлёпству до приличного уровня?
Ибо я смотрю на html -- ну там всё, грубо говоря, интуитивно понятно, ощущение, что за пару дней всё можно выучить.
Как дела обстоят с CSS?
Сколько учить JS в среднем?
Просвятите ньюфага...
Ну я образно сказал, анон.
Может, пару недель, в крайнем случае?
Наверное, мне в ньюфаготред надо было сначала, да протупил, каюсь-каюсь.
Ну анонче, давай без тролльфейсинга, я тут просто новый ньюфаг и хочу примерно прикинуть, сколько займёт html+css+js+какой-нибудь реакт...
год
да кому нужен его сервис?
скрин
Хочет растянуть пенсию.
Потому что ты не записываешь результат промиса в переменную с await
Жопой на заборе сидеть нельзя, спрыгнуть все равно придется
Чувак, внешка у тебя не такая крутая, как тебе кажется, не стоит акцентировать на ней внимание, будто ты инстаграммная телка
Сможешь если захочешь.
Наркоман, await только в теле ассинхронных функций работает.
Константы тоже переменные.
Шутка юмора таких свистопердящих юай в том, что их делают для удовлетворения кабанчика/дизигнера. А потребителям потом это тормозящее говно тысячи часов жрать.
А ты учишься веб-разработке или веб-дизайну? Почему дизмораль?
Пишешь криво значит, нет никаких подводных тут.
Ну так сперва должны все рекламные трекеры прогрузиться, гуглобилиотека же.
Так можно же с годом опыта работы в Пiльшу без образования съебаться. А в другую Европу вероятность, что будут требовать вышку, высокая.
Форкай расширение для браузера и добавляй свою фичу.
Это как автомобили. Если я еду на дачу сажать огурцы, мне не нужен спортивный супер-кар. И, если мы начнем разделять рынок по задачам, а не по крутости, дизайну, мощности и прочему, то мы не только увеличим темпы развития экономики но удовлетворим потребности рынка.
> html, css
Ну месяца за 3-4 можно освоить на приемлемом уровне, чтобы уметь не только статику под десктоп верстать.
Столько же на JS, остальное на реакт и тайпскрипт, это от 2 месяцев
Откуды мы блять знаем, сколько тебе займёт? Может ты тугодум и будешь html год осваивать?
Пикрил ты?
Видимо, кукла шалит, не светит мои ответы.
>>0897
И смогу ли я с таким набором пойти зарабатывать какие-нибудь копейки на хлеб и интернеты?
Как вообще у сайтошлёпов и веба в принципе с удалёнкой, как быстро на неё выходят?
Эх, влажные мои мечты о работе удалённо за гроши, но в мамкиной квартире в Сибири...
А я не для себя спрашиваю, чел
Я курсы запускаю и вот надо расчитать насколько программу делать, чтобы мне деньги платили сразу за весь период
Чувак, посмотри мои видосы и ты вкатишься за две недели
Git — это в общем консольная программа, там нужно знать две строки: "сохранить" и "загрузить". За 10 минут можно выучить. Figma — у меня ушло минут 8, чтобы научиться собирать страницы на основе макетов из неё. SASS, весь курс длится 18 минут...
Ну копейки на хлеб можно и на фрилансе зарабатывать, просто это сильное унижение, с каждым клиентом самостоятельно общаться, выяснять детали. Зато можно побыстрее освоить это, там реакт не надо, жс только для всякой хуйни вроде слайдеров, вордпресс, бутстрап для быстрой верстки.
Можешь посмотреть вакансии верстальщика, что там просят и сколько плотют.
https://vertically-challenged.github.io
А чем вы тут вообще на жс занимаетесь?
Ну, я к тому, что всё равно жеж надо зать хтмлцсс, разве нет?
Так что +-первый год обучения будет как у сайтошлёпа, либо я что-то не понял.
Объясни, пожалуйста, Анон.
>всё равно жеж надо зать хтмлцсс, разве нет?
Надо, конечно, весь жс-то по итогу либо возвращает разметку, либо работает с событиями на всяких кнопках, либо манипулирует элементами на сайте.
наверное сможешь ну судя по рассказам в чатике одном, то достаточно любого приложения на реакте со стейтом хоть прогноз погоды, но это же всё пизженное ты сам хуй такой код с нуля напишешь, я угадал? тик так то ваще в доке реакта есть, вот если бы ты вебсокеты прикрутил ещё к тиктактое. да ещё и двач - это ваще кринж
576x1024, 0:12
>всё пизженное ты сам хуй такой код с нуля напишешь, я угадал?
Нет, все сам писал, но естественно читал справку, смотрел ролики на ютубах, конечно же я что-то учил перед тем, как сесть и напичать все это
А можно просто взять и пройти собеседование с чужим кодом?
> тик так то ваще в доке реакта есть
А он не на реакте написан, все приложения, написанные на нем стоят с тегом #React, эта же штука написана на css, даже без использования JS
Ну да, по сути это всего-то hello world на redux, а действительно чего-то стоящие проекты, по моему мнению, в первой строке, их всего-то два
Да работает он, просто слишком долго ищет...
Попробуй вбить #OP .png - он быстро найдет все заглавные посты на доске
Я тоже хотел хуюмболу для двочей сделать, но потом подумал что будет стыдно показывать работодателю оранжевый сайт с колобками.
уже каркас написал
а, работает. а чё он мне посты показывает, мне же нужны только картинки или файлы...
Хуйней занимаешься. Берешь несколько макетов, верстаешь, публикуешь и ищешь работу
но все посты .jpg он не нашёл((
Чееел, если бы на ванильном джс всё это написал и сам, ещё бы куда не шло. А на реакти запили клон какого нить сервиса нормального. Крестики нолики и тудушки работадателю нахуй не нужны.
Даже на таком уровне берут?
А если игроками будут армяне, вебсокеты подойдут как решение?
Можно же просто использовать константный объект, у которого ключами будут кейсы. Я чего-то не учитываю здесь?
Никто не заставляет тебя использовать свитч, и никто не мешает тебе попробовать и узреть подводные камни, если они есть.
>Не покупать же интенсив академии
То есть, тебе надо максимально структурированную информацию, но бесплатно?
вкатишься в реакт - поймёшь
Какие пет проекты пробовать делать с таким стеком? Тудушки, рецепт аппы, имдб это очевидно и неинтересно :(
Если ты на скинутой странице не увидел кол-во часов под каждой темой, то программирование (где надо быстро читать горы доков и усваивать из них инфу) ты не осилишь никогда.
Нет, я не про платно/бесплатно, а про то, что я вряд ли осилю курсы с основ "вот это браузер, вот это див, а в нулевых верстали вот так". Ищу что-то типа сжатой переквалификации на модерн фронтенд. Если посоветуете академию, то я не против, но у них там ближайший интенсив в конце весны, и длится долго, а я бы хотел за месяц уже включить вёрстку в резюме, потому что только её не хватает.
>Аноны на каких проектах лучше всего понабивать руку
У тебя цель показать при вкате на первую работу, что ты что-то умеешь? Что угодно с CRUD действиями пойдёт. Не нравятся рецептики и тудушки - пусть будут фильмы или юзеры. Но суть та же всё равно, как ни назови.
Можно усложнить структуру. Типа не просто юзеры, а юзеры в организациях. Или ещё сложнее: юзеры, которых можно добавлять в группы, а из групп состоят организации, и каждую сущность можно редактировать/удалять/создавать. Много чего можно придумать. На реальной работе что-то подобное по своей природе обычно и пилишь.
Не буду скрывать, на работу это принести тоже планирую (ведь что-то принести нужно?).
Просто неужели меня возьмут на работу с скилом написания CRUD? Неужели этого уже достаточно? В любом случае спасибо, похоже и правда нужно двигаться в сторону модернизации простых сервисов.
Ну тебе, раз ты не хлебушек, могу вот такое посоветовать. Там проверки есть, конечно, но не так дотошно, как на синхронных курсах. Но зато при большом желании можно за месяц всё вообще пройти. Много лишней инфы, но лайвы можно будет не смотреть, достаточно материалов почитать и демонстраций.
https://l.htmlacademy.ru/frontender-diy
>Просто неужели меня возьмут на работу с скилом написания CRUD?
Да, а почему нет? Почти все пишут на работе CRUDы, никто ракеты в космос не запускает. Ещё, как вариант, можешь придумать систему пермишенов. Типа создаёшь юзера и задаёшь, может ли он создавать тудушки/удалять/редактировать и в зависимости от этого показывать в приложении те или иные кнопки. Тоже очень часто встречается такое в жизни.
Спасибо огромное, то что надо!
Ну резиновый пенис проще в инете брать, выбор больше, и может у него в городе вообще секс шопов нет
Армяне засудят.
Я вообще хз кто там работает. Иногда кажется, что там стдят люди, у которых денежные потребности ограничиваются оплатой интернета и покупки чипсов с колой.
На твой гитхаб никто не будет смотреть, ни у кого нет времени на это. Пробьешься или нет - от удачи зависит в основном
Никак.
Например с матаном у меня такого не было. Если ты понимаешь, то можешь решить, не понимаешь - не можешь
мимо нюфаг
>>1227
Гуглите на английском. Юзайте переводчик (удобно юзать плагин для браузер).
https://ru.reactjs.org/docs/rendering-elements.html
https://www.google.com/search?q=how+react+render+works
Заебись.
не норм
ну я js начал месяца 4 назад, до этого почти год пытался вкатиться по c#. Щас уже возле вката так сказать(собесы збс прохожу, вот щас ответ жду от пары компаний)
алсо, ты неправильно вопрос ставишь. За год можно как 200 часов потратить на это, так и 1500. Зависит от человека, я например бывает в 10 утра сажусь кодить и до 12 ночи с перерывами на покурить и поесть.(для вката как по мне достаточно 500 часов, если это будут 500 часов качественного изучения)
Иногда норм, когда слишком дохуя новой инфы за день получаешь. А так тебе нужно сесть, проанализировать что ты сделал и попытаться сделать это еще раз с нуля(не копи паст, а по памяти).
ну чтоб ты такой садишься как джун, а с разширением ты такой как стронг мидл. Чтоб охуенно делало крч
начал с питона в 16 году, ковырялся с ним год. Потом затишье до 19. Решил начать изучать js. С js ковырялся полгода. И около года с реактом. Затем вкатился на джуна за 20к рупий. Зп постоянно поднимали и я постоянно новое учил. Сразу говорю, я много с чем ковырялся: и с webrtc, банковскими модулями оплаты, очень много ноды, ну и сам реакт. 3 месяца назад начал ходить по собесам на миддла. Сейчас уже есть несколько офферов. Самое малое, что среди офферов - 250к на руки.
Я помню как я в питон треде вопросы задавал, от которого все глаза закатывали и говорили что не мое, а сейчас я могу сам выбить зубы.
Нужно работать, много работать и все будет
Ну ты базовичок. Вот мне кажется те, кто долго ковыряются, вкатяться на 300к в сек, а те кто за 3 месяца вкатываются пиздаболы
вкатятся*
Да, есть, просто я только начал реакт и пока хоть что-то не смогу сделать, даже отклики не спамлю. Месяц, максимум два и начну активный поиск.
>>1362
>>1351
>>1350
Спасибо за ответы, аноны. Насчет программистов в целом есть мысль. Почему многие из тех, кто работает хотя бы пару лет и имеет больше 200 к не пробуют приумножить деньги, вкладываясь хотя бы в малый бизнес, хотя бы в свой сайт, чтобы получать пассивный доход. Ведь возможностей куча, но все равно у многих проскальзывает мысль - что вот заебала однотипность, вроде профик, вроде бабло есть, но остаюсь только ради больших денег.
Но если работаешь ради денег, то почему бы не делать доход пассивным.
Даже у меня есть 3 прогера, получающие за 200 к, которые живут в мухосрансках и единственное, на что тратят деньги - ипотека, плазмы во всю стену и такой ремонт, как в домах инстаграмных телок.
Если что вкатываюсь как раз для того, чтобы на бизнес накопить, и постоянно встречаю недоумение, когда задаю такой вопрос прогерам. Некоторые даже отвечают - ну а какая разница, получать деньги работая на кого-то или ты чтобы на тебя работали
Промисы
на втором скрине должно быть 17:00-17:30 и как бы хтмл со мной согласен, и айди и контент внутри правильный
Так вопрос вот в чем : почему жс в консоли и хтмл не согласны даже на тему того какой айди у елемента?
>почему жс в консоли и хтмл не согласны даже на тему того какой айди у елемента?
Потому что срабатывает событие на одну кнопку первоначальную. Надо работать с evt.target
всм? я же создаю новый елемент а не переписываю старый, и создаю для него новую функцию, я просто глупенький не понимаю почему это должно так работать а не как я написал?
Ну предположим вот так надо по книжке? ну ладно а как тогда параметры передать? вот мне надо даты передавать? как я через евент передам? мне надо целую отдельную функцию создавать для этого?
Это точно так должно быть по задумке языка?
>>1439
Костыль какой-то... я не верю что так и задумывалось...
>>1476
А что конкретно плохо? Где поправить?
Это лучшее что я смог придумать учитывая ответы в этом треде
>>1463
То что евент для запрограммированной кнопки почему-то один для всех не совсем очевидно, очевидно было бы так кака я сначала написал.
>>1483
>element.classList.add("first","second","third")
не совсем понял к чему это
>element.classList.add("first","second","third")
Сейчас понял что ты имеешь виду, но зачем? Это выглядит как-то странно, и длинно..., мой вариант выглядит как-то более читабельно? разве нет?
>мой вариант выглядит как-то более читабельно? разве нет?
Нет, нихуя никому не надо удобно на каждой строчке читать, какой ты класс добавляешь, нужно прочитать этот блок как "ага, добавить нужные классы"
а ты в курсе что в js можно переносы строки использовать?
let div = document.createElement("div");
div.classList.add(
'class1',
'class2',
'class3')
нужно прочитать этот блок как "ага, добавить нужные классы" - так и читай, дело же в удобности, если все таки надо будет читать легче же читать вниз
>>1520
let div = document.createElement("div");
div.classList.add(
'class1',
'class2',
'class3')
вот это выглядит очень не красиво, вот это точно сложно для читабельности, уже лучше все в одну строку писать ей богу чем искать где эти кавички начинаются, что к какому блоку относится, вот смотри пример из товего же кода
let div = document.createElement("div");
div.classList.add(
this.getAttribute("startDate"),
GetFormatedTime(new Date().getTime())
$('#TimePickerStart').timepicker('option', newdate(
getBookingDate()
) ))
new Date(testDateE).getTime(),
new Date(
testStart.setHours(minHour, minMinutes, 0)
))
div2.classList.add(
div2.getAttribute("startDate"),
GetFormatedTime(new Date().getTime())
$('#TimePickerStart2").timepicker('option', newdate(
getBookingDate()
) ))
new Date(testDateE).getTime(),
new Date(
testStart.setHours(minHour, minMinutes, 0)
)
)
что это по вашему читаемо?
не лучше когда код всегда выглядит ОДИНАКОВО, тогда его и понимать и скипать спокойнее, зачем мозолить себе глаза поиском кавычек, скобок, фигурных скобок, смотреть что где чего закрывает если можно написать нормальном человеческом стиле 1 строка одна команда без всяких там переносов
Ну удобно же не? да строк получится больше, но читабельность выше!
нужно прочитать этот блок как "ага, добавить нужные классы" - так и читай, дело же в удобности, если все таки надо будет читать легче же читать вниз
>>1520
let div = document.createElement("div");
div.classList.add(
'class1',
'class2',
'class3')
вот это выглядит очень не красиво, вот это точно сложно для читабельности, уже лучше все в одну строку писать ей богу чем искать где эти кавички начинаются, что к какому блоку относится, вот смотри пример из товего же кода
let div = document.createElement("div");
div.classList.add(
this.getAttribute("startDate"),
GetFormatedTime(new Date().getTime())
$('#TimePickerStart').timepicker('option', newdate(
getBookingDate()
) ))
new Date(testDateE).getTime(),
new Date(
testStart.setHours(minHour, minMinutes, 0)
))
div2.classList.add(
div2.getAttribute("startDate"),
GetFormatedTime(new Date().getTime())
$('#TimePickerStart2").timepicker('option', newdate(
getBookingDate()
) ))
new Date(testDateE).getTime(),
new Date(
testStart.setHours(minHour, minMinutes, 0)
)
)
что это по вашему читаемо?
не лучше когда код всегда выглядит ОДИНАКОВО, тогда его и понимать и скипать спокойнее, зачем мозолить себе глаза поиском кавычек, скобок, фигурных скобок, смотреть что где чего закрывает если можно написать нормальном человеческом стиле 1 строка одна команда без всяких там переносов
Ну удобно же не? да строк получится больше, но читабельность выше!
$(hoursFilterBtn).addClass("btn btn--outline-success btn-block ...")
выглядит проще. у тебя там жиквери жи есть
а именно классов генерировать надо? хотя в данном случае ты прав, но я люблю когда весь код выглядит одинаково, код который иначе отформатирован бросается в глаза
Ты блять обработчик на кнопку вешаешь, какая нахуй утилитарность? У тебя обычное процедурное говнецо, причём даже не удосужился разбить его на функции. Алсо `startDate` и `endDate` - не атрибуты интерфейса HTMLButtonElement.
>Ты блять обработчик на кнопку вешаешь, какая нахуй утилитарность?
А в чем предява? я делал как показано в примере документации, такие задачи должны решаться по-другому?
да и внутри хандлера все как бы уже разбито на функции, там же только берем параметры, кормим функциям, так что мне кажется ты просто злой какой-то
ну не знаю, проблема с тем что выглядит длинно или что надо переносить на новые строчки никуда не делась пофакту, может быть не прям тут но в других местах это точно не приемлемо, а я хочу что бы весь код был отформатирован одинаково
JS в радость, темлпейт в сладость!
Помогите разобраться как правильно разложить страницу в pug-е.
Нужно сделать несколько одинаковых по структуре страниц продукта, каждая со своим продуктом.
Как это грамотно разложить по extend-ам, include-aм и mixin-ам?
Сейчас сделал так:
- Темплейт, с хедером\футером и блоком под контент
- Экстенжу его в странице товара и в блок пихаю вызовы миксинов с параметрами конкретного товара
Но правильно ли это? В этом случае мои миксины получаются довольно здоровые и пихать в них контент не очень удобно. Подскажите, бывалые, как это грамотно делается.
>Как это грамотно разложить по extend-ам, include-aм и mixin-ам?
Инклюды нужны только для импорта миксинов.
>Но правильно ли это? В этом случае мои миксины получаются довольно здоровые и пихать в них контент не очень удобно.
Что тебе мешает в миксине миксины вызывать? И про какой "контент" ты говоришь? Миксины пишутся по такой же логике, как и чистые функции/тупые компоненты рякта - получают аргументы и высирают разметку с минимумом сайд эффектов.
>Инклюды нужны только для импорта миксинов.
Почему только миксинов? Ими удобно "набивать" шаблон любой статикой. Например общими для всех страниц линками на стили. А еще ими можно добавлять "подшаблоны", которые будут содержать в себе свои block-и. Разве нет?
>И про какой "контент" ты говоришь?
Я написал миксин, который будет выводить блок с описанием, кнопкой с линком и линк на картинку.
Соответственно, мне нужно передавать в этот миксин эти три значения: desc, buyLink и imgLink.
И это не очень удобно, т.к. паг не позволяет вызывать миксин с разбиением аргументов по строчкам и в этом случае вызов миксина становится длинной некрасивой строчкой.
Чтобы это победить я передаю в миксин объект. Паг позволяет описывать объекты на нескольких строчках и это, в общем, решает вопрос. Но кажется, что это выглядит как-то костыльно-велосипедно.
>Инклюды нужны только для импорта миксинов.
А я так разбивал просто страницу на модули, там не миксины были, а просто разметка
>Мой же код в этом плане выглядит ровным
Ага, очень ровно, когда в коде вары и смесь нормального жс с жквери. И при этом всратая конкатенация вместо шаблонных строк. Мгновенно детектится копипаста 7-10-летней давности с форумов.
>Почему только миксинов? Ими удобно "набивать" шаблон любой статикой.
Что тебе мешает в шаблон эту статику запихнуть?
>Например общими для всех страниц линками на стили.
Это делается на уровне блоков первичного шаблона. Который потом экстендится. И тут ты уже начинаешь пиздеть, так как для глобального навбара тебе нужно знать нынешнюю страницу, чтобы подсветить нужную ссылку. А это значит неявно передавать контекст запроса. Который или будет не менее неявно присутствовать в колбэке, или вешаться на контекст явно. Вот только в последнем случае добавляется бойлеплейт в колбэки, который будет только расти с ростом логики шаблонов.
>А еще ими можно добавлять "подшаблоны", которые будут содержать в себе свои block-и.
То есть хуй проссышь, что там за говно в инклюдах высирается. "Подшаблоны" ты можешь и композицией миксинов организовать.
>Чтобы это победить я передаю в миксин объект.
Кажется ты начинаешь что-то подозревать.
>Но кажется, что это выглядит как-то костыльно-велосипедно.
Костыльно-велосипедно это как раз позиционные аргументы передавать.
>Что тебе мешает в шаблон эту статику запихнуть?
Ничего не мешает. Но декомпозиция же. Зачем делать из шаблона портянку.
К тому же шаблонов ведь может быть несколько. Один для статических страниц. Другой для страниц товара. Третий для страниц категорий. Пихать одну и ту же статику в каждый шаблон как-то не очень. Понадобится ее изменить - придется менять в каждом шаблоне. Такое себе.
>Это делается на уровне блоков первичного шаблона. Который потом экстендится. И тут ты уже начинаешь пиздеть, так как для глобального навбара тебе нужно знать нынешнюю страницу, чтобы подсветить нужную ссылку.
Про навбар я вообще ничего не говорил, это ты что-то попутал.
>То есть хуй проссышь, что там за говно в инклюдах высирается.
Это да, минус. Но, с другой стороны, что высирается в миксине ты тоже не узнаешь, пока не заглянешь внутрь миксина. Поэтому тут вроде как пофиг чего именно не знать.
>>Чтобы это победить я передаю в миксин объект.
>Кажется ты начинаешь что-то подозревать.
Ты намекаешь, что все данные для конкретной страницы товара будет правильно запихнуть в объект и потом хуячить его в вызовы нужных миксинов, которые раскладывать по блокам заэкстенженого темплейта - я тебя правильно понял?
а можно конкретнее что не так? а еще лучше пример как лучше?
Типа того. Поменяй на лефт и будет совпадать
>Я правильно понимаю, что в таблице внутри <th> автоматом ставится text-align: center?
Да, там же написано. Да и по-моему это нормально, когда заголовок по центру.
>Ничего не мешает. Но декомпозиция же.
Композиционировать можно и миксинами.
>Про навбар я вообще ничего не говорил, это ты что-то попутал.
Навбар это единственный случай статичного списка ссылок. И даже он зависит от контекста. В остальных случаях списки ссылок на 100% контексто-зависимы, то есть проблема неявного контекста не пропадает.
>Но, с другой стороны, что высирается в миксине ты тоже не узнаешь, пока не заглянешь внутрь миксина. Поэтому тут вроде как пофиг чего именно не знать.
У миксинов, как и у чистых функций, хорошим тоном считается ограничивать контекст параметрами. У инклюда же никаких таких ожиданий нет и в худшем случае чтобы узнать его контекст тебе нужно будет пробежаться по всему телу инклюда (а если в нём ещё инклюды, то и по ним, так как они тоже задают неявный контекст). Так как никаких ожиданий нет, то и при его написании ты не будешь заморачиваться засиранием контекста.
>Ты намекаешь, что все данные для конкретной страницы товара будет правильно запихнуть в объект и потом хуячить его в вызовы нужных миксинов, которые раскладывать по блокам заэкстенженого темплейта - я тебя правильно понял?
Нет, это тебе ограничение синтаксиса облегчило работу. У объекто-аргумента есть ключи, которые надо объявить явно, чтобы вызвать миксин и порядок ключей не влияет на их обязательность.
Допустим у тебя есть условный mixin Example(arg1 = "val", arg2 = 4, arg3). Чтобы его вызвать, тебе в любом случае придётся передавать значения arg1 и arg2. То есть с позиционными аргументами необязательные аргументы должны идти строго после обязательных. Если же ты захочешь добавить условный arg4 = {} и arg5, то передавать придётся уже пять аргументов. При объекто-аргументе же тебе достаточно будет передавать { arg3: value1, arg5: value2 }. Ну а если начнёшь баловаться спредами аргументов, то там объект намного проще концептуализировать.
Я правильно понимаю, что там написанно именно так?
Делай проект и гугли все что не понимаешь. Так не только html но и все остальное учится. То что ты там читаешь/смотришь нихуя вообще не значит, даже те проекты которые ты по видосам делаешь нихуя тебе толкового не дадут. Вообще это главный совет всем кто вертится пытается . Берите долгий проект и хуярьте его попутно обучаясь нужной хуйне, желательно чтобы это был долгий проект, на месяца 3-4(сразу учите в связке html/css/js) как только закончите его, ебашите ещё один крупный проект на React/Angular/vue(выбрать нужное, мой личный совет берите вью) на это все уйдет примерно 6-10 месяцев, если ебашить хотя бы 4 часа у день. Зато по итогу у вас РЕАЛЬНО изученные технологии, у вас РЕАЛЬНЫЙ(почти) опыт и что ещё более важное, у вас два завершенных проекту, джуном за 40-60к как нехуй возьмут.
Бутстрап норм. И даже тейлвинд норм. Главное использовать его там где нужно и не использовать там, где не нужно.
Хейтят, когда сталкиваются с ограничениями, которые в таких вещах неизбежны.
Еще хейтят нюфагов, которые вместо того, чтобы выучить css, выучили классы бутстрапа и потом ничего нормально сделать не могут.
Ну вообще это библиотека, чтобы тебе не прописывать самому дизайн для кнопок и прочей хуйни. Ну и по мелочи всякие аккордеоны и слайдеры. Просто прописываешь 3-4-5 классов своей кнопочке и тебе не надо цвет подбирать, размер, выравнивание текста.
Штука хорошая, наверное, но не гибкая, ты под нее подстраиваешься.
Приведи пример таких проектов. Как ты сам делал? Брал готовый дизайн и ебашил по нему?
а я бы посоветовал наоборот делать простые проекты, потом смотреть как их делают другие люди на ютубе. потом уже браться за сложные
Так ты верстаешь серверсайд или всё это билдишь в обычный html? Слишком мелкий сэмпл чтобы что-то сказать.
Похуй-то похуй. Но хочется, чтобы было по бест практису же.
> Suppress some nodejs internal cache. Makes your solution less dependant on previous solutions.
Чё это значит и как делается? У меня нет доступа к серверу. Могу только джейсоны ему слать и инъекцию как на пике сделать. Нужно прочитать какой-то файл. А я так тольк опервую страку любового файла прочитать могу. В какую сторону копать? У кого есть идеи?
>хотя бы подсветку текста
В vscode это из коробки. Еще из коробки плагин emmet (очень удобная вещь). Много чего из коробки.
Не держи в себе, поделись вопросами. Сам только готовлюсь стать джуной, хочу узнать какой адок меня ждет на пути к миддлу
Ну в компании текущей у меня грейд миддловский, просто я в другую компанию собес не прошел и провалил как тупорылый даун просто
Ну тут есть вероятность что они хотели помидора по цене мидола. Не унывай, теперь ты знаешь куда дальше двигаться, потом будешь на собесах рычать и двигать тазом
>помидора по цене мидола
Да нет, я на такой лютой хуйне подскользнулся и обосрался, что мне даже писать на анонимном анимешном форуме для девочек стыдно
Как у тебя самолюбие. Тяжело тебе будет.
>Настроение такое, что хочется пойти прогуляться по железной дороге с закрытыми глазами и в наушниках
Это либо с непривычки стресс такой, и еще и самобичевание из-за объективно плохих результатов, либо комплекс отличника
@
За три месяца сделаем с вас стронг джуна
@
Записался
@
Собрали группу 65 человек
@
В чате вопросы:
Как достать из строки цифру
Если Обьект !== обьект, ретурн фолс - почему не работает
У меня не работает команда git man
Принимаю ставки, сколько людей смогут найти работу?
Простейший код
Как вы видите по ссылке ниже, я просто передаю каждый элемент на бэкэнд по
name="dishIdQuantityMap[айди блюда]"
value= что ввел в input.
Блюда подругружаются из БД, их количество может меняться.
Я написал топорный JS который увеличивает на 1 input, когда пользователь нажимает +, но на эти 2 вещи снизу у меня знаний не хватает, я в полном отчаянии.
2 ПРОБЛЕМЫ:
1. Когда пользователь перезагружает страницу, то пропадает input. А сортировка сделана через перезагрузку страницы и изменить нельзя.
Может, можно в localstorage как-то это дело засунуть и чтобы при нажатии кнопки отправки формы ( confirm order ) он очищался.
2. Надо посчитать сумму заказа до отправки формы, чтобы пользователь видел, сколько ему надо заплатить ( value * price ).
https://codepen.io/IgorKaspersky/pen/NWwjGjW
БУДУ НЕВЕРОЯТНО РАД ВАШЕЙ ПОМОЩИ
Если поможете, то скиньте номер карты, отблагодарю
Ты б лучше скриншоты из чата сюда кидал
Чюваки, у меня есть вопрос.
Вот допустим есть у меня функция, которая применяет стили к элементу:
applyStyles(element);
Она возвращает true/false в зависимости от того, были ли применены стили к элементу. Суть в том, что мне не всегда нужно знать применились стили или нет. Насколько корректно просто вызывать такую функцию, даже если не нужно её возвращаемое значение?
Т.е. я пишу вместо:
const stylesIsApplied = applyStyles(element);
просто:
applyStyles(element);
Что за ебанутый вопрос? Если в ней нет сайд эффектов, то нахуй её сайд эффектом вызывать?
В ней есть сайд эффекты в виде применения стилей. Суть в том, что где то мне нужно отслеживать применились ли стили, а где то ненужно.
Да вообще любой, главное не стандартную хуйню типа мувисерчев, а ченить более сложное, например ебани ченить по типу funpay, ебани парсер для телеги который будет выводить каналы в твоем приложении по сортировки, да че угодно( я понимаю что ты щас сидишь и такой думаешь, ебать, как я это сделаю я же нихуя не умею, нужно просто все гуглить.
>>1814
Не, мелкие проекты типа тудушек(офк если это не топ хуйня с самописным драгндропом и подобным) полная хуйня
Вообще, мой совет был для тех, кто реально с 99% гарантией хочет вкатится хотя бы за год, ибо щас джуны нахуй не нужны, а там где типа нужны на самом деле ищут мидлов которые себя джунами считают. Так что для вката нужно по знаниям быть мидл уровня, тогда на зп в 40-60к почти точно возьмут, а для этого нужно сложные задачи решать. Да что там говорить, щас на стажировки бесплатные ищут мидлов с 1-2 года опыта )
Ну так и есть. сайт говно из картиночек и мультиков как в нулевые делали на флеше)
>Не, мелкие проекты типа тудушек(офк если это не топ хуйня с самописным драгндропом и подобным) полная хуйня
я имел ввиду такой подход: сначала делаешь туду просто на реакте, потом прикручиваешь тайпскрипт, потом добавляешь туда свистоперделки всякие типа темной темы, потом делаешь из всего этого фанпей
Ну так я по факту по те же яйца только в смятку. То есть понятное дело вкатыш сразу не начнет хуярить систему jwt авторизации у себя на проекте, сначала начнет делать всякую легкую хуйню. Просто подход должен быть таким, чтобы изначально определиться каким проект должен быть по финалу, а не делать одну хуйню, потом прикручивать к этой хуйне еще одну итд.
Ну я кстати посмотрел пару видосов про авторизацию, всё вроде понял, но забыл уже на следующий день всё. чё делать, заучивать что ли?
Вот в том и суть, то что ты видосы смотришь это все хуйня полная, нужно брать и делать на практике. Найди в инетике паблик api где используется jwt авторизация и поиграйся с доступом, отправкой токенов, запросом данных итд. Это кстати полезный опыт будет, с jwt авторизацией часто работаться придется. Хотя от компании зависит, много где просто сохраняют переменную в localstorage типа isLogged )
То ли дело jewt токен хранить в локалсторедже.
Его и не используют. Он может быть был норм в древние времена, когда не было кучи шортхэндов для всяких атрибутов.
1. Да, добавь localStorage.setItem (prodId, qty) в ф-ции инкремента и декремента кол-ва. При клике сэнд очищай через localStorage.clear
2. Напиши функцию, которая будет получать список всех single-menu через, например, menus = document.querySelectorAll ('.single-menu').
Потом проитерируйся по каждому элементу списка, находи в нем цену и количество, перемножай и сохраняй в сумму: sum += menus.querySelector (селектор цены) * menus.querySelector (селектор количества)
Потом выводи эту сумму куда тебе нужно. Запускай функцию при загрузке страницы и при каждом клике на + и -.
Конечно можешь. Ты же можешь просто с нихуя писать в коде любые значения, тут будет считай та же фигня.
let a = 10;
"хуй пизда"
100500
true
console.log(a);
Это ясно, я говорю про реальные проекты, которые пишутся на sass. Своими глазами такие видел.
Ну а что поделаешь, если не самые компетентные люди сидят на местах, которые единолично принимают решение. До сих пор пишут сайты на жквери, вот и сасс туда же.
Сука блять прочитай уже сигнатуру редюса. А если совсем тупенький, то не выёбывайся и инлайни колбэк.
Да, я понимаю, просто вопрос был насколько корректно так делать? Вообще по рукам бьют за такое или нет?
Вполне корректно
Например, есть метод splice. Он, кроме мутации массива, еще возвращает удаленные элементы. Но обычно они нах не нужны. Поэтому то, что он что-то там еще возвращает все просто игнорят и пишут просто
arr.splice ( ... )
И кстати с отдельным написанием колбэка ты сделал код менее читабельным, так как не совсем очевидно, что сравниваешь summarySize c userSpace, без взгляда на тело колбэка.
Извини меня, я настолько топорный в JS, что даже такое не напишу.
Я поэтому и предлагаю деньги за помощь, у меня просто нет выбора.
Я не знаю, к кому даже обратиться за этими строками кода, всю жизнь учил java c# и помогал другим в чатиках и стаковерфлоу и в итоге так пососал.
> Я поэтому и предлагаю деньги за помощь, у меня просто нет выбора.
Но тут тред обсуждения языка программирования, а не выполнения заказов. Тебе в /web/ за этим.
>Я не знаю, к кому даже обратиться за этими строками кода
Обращайся к Mozilla Developer Network.
Если у тебя изменилась ссылка на функцию, то реакт считает, что ее содержание так же могло измениться, а значит нужно пересчитать этот эффект с новыми данными. Правильный способ это решить в реакте - это засунуть ту функцию в useMemo, чтобы отразить тот факт, что она реально не изменилась, но отразить его на уровне функции, а не на уровне эффекта, который эту функцию использует, потому что это явный говнокод.
Вот тебе считалка стоимости заказа:
// Считаем стоимость при загрузке страницы
window.onload = function() {
const totalPrice = calcOrder(); // считаем стоимость
document.querySelector('.total-price').innerHTML = totalPrice; // выводим на странице
}
// Ф-ция подсчета общей стоимости заказа
function calcOrder() {
let result = 0;
const menus = document.querySelectorAll('.single-menu');
for (let i = 0; i < menus.length; i++) {
const price = Number(menus.querySelector('.price').innerText);
const qty = Number(menus.querySelector('input').value);
result += price qty;
}
return result;
}
function stepperDecrement(btn){
const inputEl = btn.nextElementSibling;
const calcStep =inputEl.step -1;
const newValue = parseInt(inputEl.value) + calcStep;
if(newValue >= inputEl.min && newValue <= inputEl.max){
inputEl.value = newValue;
}
const totalPrice = calcOrder(); // считаем стоимость
document.querySelector('.total-price').innerHTML = totalPrice; // выводим на странице
}
function stepperIncrement(btn){
const inputEl = btn.previousElementSibling;
const calcStep = inputEl.step * 1;
const newValue = parseInt(inputEl.value) + calcStep;
if(newValue >= inputEl.min && newValue <= inputEl.max){
inputEl.value = newValue;
}
const totalPrice = calcOrder(); // считаем стоимость
document.querySelector('.total-price').innerHTML = totalPrice; // выводим на странице
}
Вот тебе считалка стоимости заказа:
// Считаем стоимость при загрузке страницы
window.onload = function() {
const totalPrice = calcOrder(); // считаем стоимость
document.querySelector('.total-price').innerHTML = totalPrice; // выводим на странице
}
// Ф-ция подсчета общей стоимости заказа
function calcOrder() {
let result = 0;
const menus = document.querySelectorAll('.single-menu');
for (let i = 0; i < menus.length; i++) {
const price = Number(menus.querySelector('.price').innerText);
const qty = Number(menus.querySelector('input').value);
result += price qty;
}
return result;
}
function stepperDecrement(btn){
const inputEl = btn.nextElementSibling;
const calcStep =inputEl.step -1;
const newValue = parseInt(inputEl.value) + calcStep;
if(newValue >= inputEl.min && newValue <= inputEl.max){
inputEl.value = newValue;
}
const totalPrice = calcOrder(); // считаем стоимость
document.querySelector('.total-price').innerHTML = totalPrice; // выводим на странице
}
function stepperIncrement(btn){
const inputEl = btn.previousElementSibling;
const calcStep = inputEl.step * 1;
const newValue = parseInt(inputEl.value) + calcStep;
if(newValue >= inputEl.min && newValue <= inputEl.max){
inputEl.value = newValue;
}
const totalPrice = calcOrder(); // считаем стоимость
document.querySelector('.total-price').innerHTML = totalPrice; // выводим на странице
}
Если у меня функция в другом месте используется, и у неё есть свои зависимости, то при оборачивании её в useMemo/useCallback функция обновится и useEffect тоже посчитает, что нужно выполнить эффект еще раз, чего в моём случае как раз делать не нужно, у меня по сути в коде никакой связи между обновлением этой функции и её использованием в эффекте нет, вот я и не понимаю, почему реакт пишет о том, что функцию обязательно нужно включить в список зависимостей? Аргументы я в неё передаю сам, мне это обновление функции для эффекта вообще не нужно
>то реакт считает, что ее содержание так же могло измениться, а значит нужно пересчитать этот эффект с новыми данными.
Вот в том и дело, что у меня такое не происходит, щас проверю еще раз, видимо там лютый говнокод. А где про это почитать? Я в доке про это не нашел, или проебался
Звучит как проблема архитектуры, а не юзэффекта. Так что правильно тебя палками по рукам линтер пиздит, так как ты там говно городишь с колбэками, которые передаются непонятно откуда непонятно куда и непонятно когда могут переназначится.
Да если бы я сам городил, я правки вношу
Вот типа вместе с сохранением значений инпутов в localStorage
Не тестировал, но общая мысль думаю понятна
// При отправке формы
// (которой у тебя в разметке, кстати, нет, поэтому отслеживаем событие нажатия кнопки)
// очищаем localStorage
const submitBtn = document.querySelector('button[type="submit"]');
submitBtn.onclick = function() {
localStorage.clear(); // очищаем localStorage
}
// При загрузке страницы
window.onload = function() {
// Считаем стоимость при загрузке страницы
const totalPrice = calcOrder(); // считаем стоимость
document.querySelector('.total-price').innerHTML = totalPrice; // выводим на странице
// Берем данные из localStorage и распихиваем по инпутам
// Находим все инпуты в элементах single-menu
const allInputs = document.querySelectorAll('.single-menu input');
// Итерируемся по инпутам
allInputs.forEach(input => {
// Если для этого инпута в localStorage есть запись
// Присваиваем ее значению инпута. Иначе присваиваем 0.
input.value = localStorage.getItem(input.name) || 0;
});
}
// Ф-ция подсчета общей стоимости заказа
function calcOrder() {
let result = 0;
const menus = document.querySelectorAll('.single-menu');
for (let i = 0; i < menus.length; i++) {
const price = Number(menus.querySelector('.price').innerText);
const qty = Number(menus.querySelector('input').value);
result += price qty;
}
return result;
}
function stepperDecrement(btn){
const inputEl = btn.nextElementSibling;
const calcStep =inputEl.step -1;
const newValue = parseInt(inputEl.value) + calcStep;
if(newValue >= inputEl.min && newValue <= inputEl.max){
inputEl.value = newValue;
}
const totalPrice = calcOrder(); // считаем стоимость
document.querySelector('.total-price').innerHTML = totalPrice; // выводим на странице
// Сохраняем в localStorage пару name и value из input-a
localStorage.setItem(inputEl.name, inputEl.value);
}
function stepperIncrement(btn){
const inputEl = btn.previousElementSibling;
const calcStep = inputEl.step * 1;
const newValue = parseInt(inputEl.value) + calcStep;
if(newValue >= inputEl.min && newValue <= inputEl.max){
inputEl.value = newValue;
}
const totalPrice = calcOrder(); // считаем стоимость
document.querySelector('.total-price').innerHTML = totalPrice; // выводим на странице
// Сохраняем в localStorage пару name и value из input-a
localStorage.setItem(inputEl.name, inputEl.value);
}
Вот типа вместе с сохранением значений инпутов в localStorage
Не тестировал, но общая мысль думаю понятна
// При отправке формы
// (которой у тебя в разметке, кстати, нет, поэтому отслеживаем событие нажатия кнопки)
// очищаем localStorage
const submitBtn = document.querySelector('button[type="submit"]');
submitBtn.onclick = function() {
localStorage.clear(); // очищаем localStorage
}
// При загрузке страницы
window.onload = function() {
// Считаем стоимость при загрузке страницы
const totalPrice = calcOrder(); // считаем стоимость
document.querySelector('.total-price').innerHTML = totalPrice; // выводим на странице
// Берем данные из localStorage и распихиваем по инпутам
// Находим все инпуты в элементах single-menu
const allInputs = document.querySelectorAll('.single-menu input');
// Итерируемся по инпутам
allInputs.forEach(input => {
// Если для этого инпута в localStorage есть запись
// Присваиваем ее значению инпута. Иначе присваиваем 0.
input.value = localStorage.getItem(input.name) || 0;
});
}
// Ф-ция подсчета общей стоимости заказа
function calcOrder() {
let result = 0;
const menus = document.querySelectorAll('.single-menu');
for (let i = 0; i < menus.length; i++) {
const price = Number(menus.querySelector('.price').innerText);
const qty = Number(menus.querySelector('input').value);
result += price qty;
}
return result;
}
function stepperDecrement(btn){
const inputEl = btn.nextElementSibling;
const calcStep =inputEl.step -1;
const newValue = parseInt(inputEl.value) + calcStep;
if(newValue >= inputEl.min && newValue <= inputEl.max){
inputEl.value = newValue;
}
const totalPrice = calcOrder(); // считаем стоимость
document.querySelector('.total-price').innerHTML = totalPrice; // выводим на странице
// Сохраняем в localStorage пару name и value из input-a
localStorage.setItem(inputEl.name, inputEl.value);
}
function stepperIncrement(btn){
const inputEl = btn.previousElementSibling;
const calcStep = inputEl.step * 1;
const newValue = parseInt(inputEl.value) + calcStep;
if(newValue >= inputEl.min && newValue <= inputEl.max){
inputEl.value = newValue;
}
const totalPrice = calcOrder(); // считаем стоимость
document.querySelector('.total-price').innerHTML = totalPrice; // выводим на странице
// Сохраняем в localStorage пару name и value из input-a
localStorage.setItem(inputEl.name, inputEl.value);
}
useEffect - это не "сделать любую хуйню, когда я захочу", это способ выполнить действие декларативно, т.е просто объявить, от чего зависит выполнение этого действия, и оставить сам процесс выполнения на усмотрение реакта. Но если твое действие зависит от какой-то функции, а при изменениях данной функции ты его выполнять не хочешь, то ты по сути всю эту декларативность посылаешь нахуй, поэтому реакт и ругается, что ты явно делаешь какую-то хуйню, которая идет против всей модели хуков. Единственный случай, в котором реально можно опустить все зависимости в useEffect - это когда тебе нужно выполнить эффект один-единственный раз при первом рендере, потому что в дефолтной библиотеке реакта нет такого способа и тебе надо либо писать свой useEffectOnce, либо тащить его из сторонней библиотеки. Во всех остальных случаях, если у тебя появляется желание убрать какую-то зависимость из списка, то ты наверняка пытаешься наложить говна и проблему надо решать другим способом.
вот так имеешь ввиду?
Ты даже не представляешь, как я тебе благодарен анон, для тебя это может быть 20 минут, а для меня эта задача заняла уже 2 дня и края не было видно.
У меня брат старший начал вкатываться. 26 лет человеку. Надеюсь ещё не поздно
У меня в марте будет год, пилю добротный пет-проект, еще месяцок и закончу, буду им всем тыкать. Ну и наверстал 2 сайтика с адаптивом.
Есть ли какое-то API или библиотека (для ноды или другого языка), которое может редактировать аудиофайлы? Например наложить на музыку какой-то эффект? Ничего не могу найти по данной теме, кто-нибудь сталкивался с таким?
А оно точно подойдёт? Прочитал бегло либу, в основном оно предоставляет доступ к работе с видео, а у меня немного другое, всё таки
https://github.com/damianociarla/node-ffmpeg
Очевидно же ты аутист, который видит список требований и считает их источником истины. На деле он может быть составлен как херочкой, которая джаву от джаваскрипта не может отличить, так и каким-нибудь пердоликом. Так что его отношение к реальности варьируется между компаниями и не факт, что вакансия с меньшими требованиями означает меньше мозгоёбства в работе.
>>2826
В браузере есть апиха дёрганья звуков:
https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API/Using_Web_Audio_API
>В браузере есть апиха дёрганья звуков:
Спасибо бро. Почитаю на досуге. Не уверен, что у неё широкий функционал, но, кто знает, может получиться сделать то, что мне нужно
Ищи просто ffmpeg, это command-line тулза, а ты скинул устаревшую и неподдерживаемую обертку над ней.
parent: [Object: null prototype] {}
Все, я сам разобрался, нам приходит объект с form-data и я этот объект записывал в свою переменную, а надо было это записывать в объект и затем брать свойство объекта
Причем тут вообще эйчарочка, дубина? Ты приходишь на один собес и тебя берут после вопроса тимлмда "Что ты вообще умеешь?", приходишь на другой собес, а тебя спрашивают как мидла.
да я долбоеб просто, на самом деле иногда помогает, особенно автокомплит свойств объектов радует
Причём здесь типизация? Дебил даже в сигнатуры не может и игнорирует ошибки, которые конпелятор ему высирает, а в жопу насрал тайпскрипт конечно же.
парсел под простые случаи не требует конфигурирования
запускается тупо npx parcel src/index.html
Vite
Ну ок, ответь тогда хотя бы живой gulp или уже устаревшая хрень наподобие jquery, который будет полезен только в легаси?
Живой.
В отличие от жквери смысл в нем не пропал никуда, препроцессорные файлы надо компилировать, картинки оптимизировать и свг собирать в спрайт. Ну просто представим, что свет клином на рякте не сошелся и css-in-js или styled-components вообще не везде используется и даже не везде нужно.
А жквери это ты просто стер строку, написал ее на жс белого человека и все работает, как раньше.
А, да, еще в вакансиях я ни разу не видел необходимости знаний чего-то другого. А значит в реальной жизни parcel и vite либо не использует никто, либо после галпа легко переехать.
Спасибо за пояснение. Значит продолжаю разбираться дальше в галпе не беспокоясь о том, что тулза устарела и нужно юзать что-то более современное/молодежное
Да там особо нехуй разбираться, чаще всего берется чужая сборка и немного допиливается или переписывается, если инструкцию выложили года 3 назад, например, а там ужо все обновилось и по-другому надо писать. Я бы сильно не углублялся, на твоем месте, а познал основы галпа и другой сборщик попробовал, чем одним галпом, но глубже.
как вывести несколько параметров объекта через запятую, допустим
axios.get('https://www.cbr-xml-daily.ru/daily_json.js?data')
.then(function (response) {
console.log(response.data.Valute.USD.Value);
});
Вот такой гет запрос есть, но хотелось бы не только Value получить, но еще и Name
axios.get('https://www.cbr-xml-daily.ru/daily_json.js?data')
.then(function (response) {
console.log(response.data.Valute.USD.Value +','+response.data.Valute.USD.Name);
});
Спасибо!!!
И чтобы оно глобальное было, хочу типо с сервера получть json и хуярить сразу в стор, а оно само разбирало что куда прилетело какое обновление. Такое бывает?
Серьезный вопрос вообще-то. Это же довольно очевидная и нужная хуйня
Ну так епт, вас же по нормальному и спрашивают - устарел не устарел, осваивать его или уже что-то другое. Есть что посоветовать - посоветуй же
Ну хочешь осваивай,но вродь как вебпак стандарт дефакто уже много лет. просто нахуя гульп если везде куда не глянь вебпак
Не поздно, я в 27 вкатился с нуля, учил всё только по урокам на ютубе, по книгам и в инете, без курсов, так что это вполне реально
Так это зависит не от годности стейт менеджера, а от твоей архитектуры, это в любом см можно сделать
Если хочешь что-то новое попробовать, попробуй это https://github.com/pmndrs/zustand
И популярность у него кстати нормально так растёт, когда я нашел его в первый раз года 2 назад, там что-то около 5к скачиваний в неделю было
>нахуя гульп если везде куда не глянь вебпак
Так об этом и вопрос. Акутальная ли хуйня этот гульп или все пользуются чем-то другим, а гульп "ненужон". Пока получил один довод в пользу того, что да, пока актуальная хуйня.
Скажем, нужно ли мне ебаться с вебпаком (или парселом), чтобы затранспилить статический проект pug\scss\js. Будет ли это лучше, чем хуйнуть все через gulp.
Бля ну гульп это таск-менеджер, вебпак сборщик
если надо верстку собрать можно гульп
что то серьезное-нормальные сборщики
я ж ниебу чем ты там занимаешься
если ты верстак галимый вообще поставь prepros и не парься
>я ж ниебу чем ты там занимаешься
Забей на меня, похуй чем я занимаюсь. Я же про тулзу спрашиваю - актуальная она или нет. Я не спрашиваю юзать ли МНЕ эту тулзу.
Если тулза актуальная - буду юзать в соответствующих случаях. Если тулза мертвая - спрашиваю чем пользуются вместо нее.
> Так это зависит не от годности стейт менеджера, а от твоей архитектуры,
У меня нет особо архитектуры, никаких реактов, просто переменные с нодами el = document.createElement, и функции для изменения нод - (){el.textContent = "текст"}. Т.е. нужен тупостейт который бы все функции запускал и всё. Переписывать это быстро в случае чего.
> zustand
Вроде нормально, но не то, еще и на тс, а у меня чистый жс.
>>3545
>graphql
Забыл об этой хуйне. Какие там клиенты есть самые годные? Хотя может там любой клиент подойдёт.
>define "актуальная"
Ну, епт, как обычно - чего тут может быть непонятного
Актуальная - это когда является лучшим (или равным с другими) решением для своих задач (при этом сами задачи тоже должны быть актуальными). Если существует заметно лучшее решение - то актуальным становится оно.
Пример: jquery - не является лучшим решением для актуальных задач (если не разводить срач из-за корнер-кейсов). Следовательно - jquery не актуальная технология, использование которой ограничено поддержкой легаси и специфичных задач.
>Чёткие парни уже лавно перешли на esbuild, а соевые педики - на swc
По вакансиям что-то это нихуя не заметно.
единственная задача жиквери - писать стандартные функции манипуляции с dom короче и с возможностью вызова этих функций цепочкой. знаешь лучше-скажи. я не знаю
gulp как таск менеджер может лучший, но там все надо прописывать руками,в то время как современные сборщики могут работать вообще с нулевой конфигурацией,сами определяя что и как нужно собрать
но их все таки их напрямую сравнивать некорректно, это немного разная хуйня. поэтому надо исходить из задач
https://www.educba.com/gulp-vs-webpack/
>единственная задача жиквери - писать стандартные функции манипуляции с dom короче и с возможностью вызова этих функций
Это уже не является актуальной задачей. Иначе говоря - всем на это похуй, пишут на ваниле.
>их все таки их напрямую сравнивать некорректно, это немного разная хуйня. поэтому надо исходить из задач
Полностью согласен.
>Это уже не является актуальной задачей. Иначе говоря - всем на это похуй, пишут на ваниле.
jquery это и есть ванила. обертка для стандартных функций, даже не фреймворк. с чего ты взял что манипуляция dom-ом не является актуальной задачей?
Четкие пацаны работают над проектами и ищут помощников, соевые же педики сидят только пет-проекты пилят на чем нравится, а не что выбрал кабанчик.
Это стандартное исправление недостатков жс и кривостей браузеров на тот момент. Сейчас жс поравняли немного, а браузеры почти вымерли в угоду хромогу, так что все стандартно и он больше не нужен.
>стандартные функции манипуляции с dom короче и с возможностью вызова этих функций цепочкой
Можно наглядный пример? Хочу увидеть, где это делается удобно на жквери и неудобно на нормальном жс.
>с чего ты взял что манипуляция dom-ом не является актуальной задачей?
Я имел в виду, что всем стало похуй на удобство манипуляций с dom через jquery и все пишут на ваниле. jQuery остался в легаси и в случаях, когда требуется какой-то специфичный UI-шный плагин.
Сама задача манипуляции с домом, понятно, будет актуальна, пока существует дом.
>>3623
>>3625
у них девиз write less do more
потому что
$('#id') короче чем document.getElementById(id)
а $(el).prev короче чем el.previousElementSibling
если стоит задача манипуляция домом то проще взять что-то jquery-подобное, если название не нравится можно взять cash.js или umbrella, там по сути либы на пару килобайт
Такая же, как и в бойлерплейте, чел. Подключение стора, разбиение на компоненты, раскладцвание по папочкам, вот это вот всё на реальном проекте также делается? У меня просто только легаснопарашный опыт, там фреймворк неправильно используется.
Да можно, конечно, взять. И будет покороче, конечно. Но уже не принципиально короче и не принципиально удобней. Поэтому всем похуй и поэтому доля jquery падает.
Для небольших манипуляций сойдет и ванила. А если требуется взъебывать дом по-крупному - там уже всеми любимые фреймворки со своей реактивностью и пр.
Ясно, у меня к счастью такой проблемы нет, вебшторм мне все подскажет после пары букв, а для querySelector я свой dqs написал
Ну у тебя после успешной валидации может что-то возвращаться, какой-то стейт назначаться. Когда этот стейт будет true например, тогда назначай стиль, который будет работать только когда true
При первом рендере никакой валидации и не было. В этом случае тебе надо показывать требуемые поля.
Ну вообще есть онлайн-конвертеры из жквери в нормальный вид, но они чутка кривые. Хочешь сюда кинь рабочий вариант, может там несложно будет и расшифруем. Ну или сам в доку жквери залезь и переделай.
Там регулярку бы, конечно, обязательно и проверку на длину.
Есть две кнопки. У одной цвет текста черный, бекгроунд оранжевый, у другой цвет белый и бекгроунд черный.
У текста один размер, но размер все равно выглядит иначе.
Кто сталкивался, как фиксить?
Я, конечно, начинающий вкатывальщик, но мне кажется, что это просто такое восприятие цвета текста и цвета фона, если текст 100% одинаковый. Короче, тебе просто кажется
Попробуй у черной кнопки слева фон поменять, может тебе визуально только кажется, что размер разный
Ну да, так и есть, второй скрин как демонстрация. Если активно тыкать цвета, то разница прям очевидна. Будто цвет белого в черном толще.
>>4125
Ок, попробую.
>>4124
Не совсем, посчитал пиксели и у белого в черном больше. Тоже сначала думал, что кажется. Но похоже браузер как-то особенно рисует.
>>4108
Из-за цвета. Что еще можно глянуть?
Да не, я всё первый.
>поиграйся с шрифтами
Более толстый шрифт на фоне, где происходит магия, помогает.
Загадка была сложная, а ответ так прост. Выпью за тебя можителя.
:valid же
Хм, а вот тут еще одна загадка. Мы же видели один и тот же размер, одну толстоту шрифта, 'ошибка' была в сглаживании, в случае с экранами с магией dpi текст разве останется тот же? Логично же, что он там увеличится относительно той кнопки, где нет более толстого текста. Дать всем кнопкам более толстый текст магию не отменил. Возможно еще стоит попробовать другие шрифты.
Хм, думаю завтра отпишусь как потестю.
Чекни на экранах с большим DPI для полноты картины.
А решается это тупо толстым шрифтом, я так сделал и не парился. Тонкий шрифт просто следует нормально подбирать, вместе с бэкграундом, можно нормально подобрать на самом деле.
Да, тут все мечтают войти или вкатиться в айти. А это ты просто учишься
Ну я до сих пор на неоплачиваемых работах. 10 лет уже примерно.
Если будешь по 8-12 часов в день изучать и работать - за три месяца на джуна насобираешь. Хорошего такого джуна. Ну и примут тебя в какую-нибудь донную работку. Через год нормально вообще будет, почти мидл.
Делаю авторизацию на сайте с помощью steam openid.
Node.js на 3001 порте, react - 3000.
респонс приходит по адресу 'localhost:3001/' , как мне его отправить в реакт и обработать?
https://jsfiddle.net/tjc54nb1/ - код index.js в node.js
$("#hours").keyup(function(){
let num = parseFloat($(this).val());
if ( num >= 99999.9)
{
$(this).val("99999.99");
}
let number = ($(this).val().split('.'));
if (number[1] && number[1].length > 1)
{
let salary = parseFloat($("#hours").val());
$("#hours").val( salary.toFixed(1));
}
});
))
Перед вторым звезда стерлась, отдельные свойства под ie
Первые деньги появились примерно через 5 месяцев, около 30к в месяц. Через год 65к. Через 1.5 - 130к. Чувствую себя полным долбоёбом, который нихуя еще не умеет и вообще самозванец, которого скоро расскроют, причём началось это только примерно месяц назад, до этого такого ощущения не возникало.
const current = +this.value;
if (current • 100 % 1 ! == 0) {
this.value = this.value.split(“”).splice(0, this.value.length - 1).join(“”);
return;
}
this.value = this.value.replace(/(?<=[.,]\d{2})0+/g, “”);
Передал твой высер в стрелочный колбэк, проверяй.
css
Обе, потому что у них разная механика.
Ты бы хоть немного конкретизировал, в чем твой вопрос.
Если sass не подключен, то и нахуя его подключать ради одних только переменных, а если подключен, то я даже не пробовал использовать нативные переменные.
>Чувствую себя полным долбоёбом, который нихуя еще не умеет и вообще самозванец, которого скоро раскроют
С первого дня такое. В дедстве была окрочка, но поборол, а сейчас такое чувство, что шиза прогрессирует. Неприятное говно.
Это как раз говорит о том, что ты действительно что-то знаешь и умеешь. Как раз если ты самоуверен, то навыков у тебя скорее всего недостаточно. Это очень хорошо видно на примере залетных бэкодебилов из других языков, которые почитали js по диагонали, чтоб прикрутить какую-то простую, гуглящуюся за 5 минут херню на страницу и которые рассказывают, что жс это легкотня, учится за два дня.
очко горит от этих падингов, хуядингов, дисплей блоков, инлайнблоков
2 часа пилил серч бар, вставил внутрь иконку, вроде нормально вышло, вспоминил шо надо завернуть эту хуйню в форму, все поеблось, и все по новой. жопа в огне
как учиться верстать и не гореть ?
Пройди какой-нибудь говнокурс по хтмлу, хватит будет.
Забыл написать, речь идёт о webstorm
Если проще то такой вопрос - обязательно ли учить Next.js или можно обойтись только React' ом когда ищешь первую работу?
используй готовые компоненты, которых до жопы
все уже сверстано до нас, в 2022 можно не верстать.
там есть customization и system и много чё ещё есть, всё блять ехала скобка через скобку а внутри какой-то palette ваще хуй знает откуда, а ещё есть тайпскрипт
Вроде норм. Но я полтора раза бэм читал, так что не точно.
Есть же бэм-валидатор.
Можешь выйти в окно.
Значит у тебя хуевый дизайн. Нельзя просто взять и перебирать всякие ключи, хуйчи и прочие вещи, которые по факту не итерабельны. Крайне медленно, ебануто и вообще.
Сделай массив и перебирай в массиве.
Да, в этом случае li будет одновременно элементом ul блока и своим блоком.
Но в данном случае у тебя не какой-нибудь генерик ul, а вполне себе список категорий. Так что li в этом случае не имеет смысла выносить в блок.
Как тогда будет правильней — все привязать к блоку ul? В этом случае классы становятся какими-то совсем длинными, считается ли это нормально?
В тайпскрипте тип ключа объекта у всех js-методов - string, поэтому всегда приходится тип приводить через as. Хуй знает, почему они так сделали, но это сильно раздражает.
В жс у нормальных объектов ключи - строки, такие объекты превращаются движком v8 в hidden классы, а объект с числовыми ключами это разреженный массив - с такими объектами v8 пердит и лагает. К тупоскрипту это наверно отношения не имеет, но остерегайся пользоваться разреженными массивами
[,,,3,,5,,,,,]
Нет, так нельзя делать. Думаю, анон имел в виду "categories-list__category", "categories-list__img" и т.д. Так как li не существует сам по себе, он существует неразрывно от ul.
const [data, setData] = useState(null);
/../
.then(setData)
/../
Интересно, спасибо
Это да, но я не знал что аргумент передается из предыдущего элемента цепочки
Да что-то я вообще не вижу чтобы кто-то запускал скрипты со стороны в экспрессе. Смотрел видосы на ютубе, там такого не делают, почему-то. Может я туплю и не вижу очевидного (скорее всего), но все еще не понимаю как это сделать блин
>Насколько эта хуйня типа браузера на сервере удобная и распространенная?
Неудобная, без неё жить проще.
>Если проще то такой вопрос - обязательно ли учить Next.js или можно обойтись только React' ом когда ищешь первую работу?
Next.js мало где нужен, забей. Если что, на работе выучишь. Не еби себе этим голову, никто обычно от тебя знаний некста не ожидает, тем более от вкатывальщика.
А почему нельзя как на моем последнем скрине? У меня вроде ж так и есть - есть блок categories-list и внутри все остальные теги описаны «плоско» и являются его элементами: categories-list__category, categories-list__<то>, categories-list__<се>. Я что-то неправильно понимаю?
У тебя в некоторых местах categories-list__category-<то> так нельзя. Смотри 2 пункт.
https://dev.to/visuellverstehen/common-mistakes-when-writing-css-with-bem-4921
С какой стороны? Если у этого скрипта отдельная репа уже, то подключаешь её гит-модулем к своему серверу, импортируешь его входную точку и вызываешь скрипт, когда надо.
>>6067
>У меня вроде ж так и есть - есть блок categories-list и внутри все остальные теги описаны «плоско»
А не пиздишь? categories-list__category-... тогда что?
>>6087
Разве названия элементов не могут состоять из нескольких слов, разделенных одиночным тире?
Типа:
categories-list // блок
&__category-img // элемент
…
&__category-то // элемент
…
&__category-се // элемент
По идее можно было бы обойтись и без слова «category», но я подумал это будет добавлять семантики.
Стоит ли учить рякт или вью чтобы вкатиться в какую-нибудь большую компанию? Ангуляр особо не видел в вакансиях больших компаний.
Сейчас все выглядит как-то так. Есть функция runParser которая экспортируется из другого файла, она возвращает массив json по итогам своего выполнения.
Но я не могу понять, как мне по запросу на "/" отобразить этот json. Страница загружается быстрее, чем срабатывает скрипт.
Конечно стоит, хотя много где в требованиях знать любой фреймворк, подразумевают, что дадут время свитчнуться на их технологию.
Ангуляр долго учил? Почему именно его? Легко было найти работу джуном ангулярщиком?
Мне так, для общего развития.
Ангуляр нигде кроме крупных компаний не используется, скорее всего ты попал в галеру которая продает тебя как контрактора.
>Разве названия элементов не могут состоять из нескольких слов, разделенных одиночным тире?
Это нужно исключительно в случае конфликта имён.
>По идее можно было бы обойтись и без слова «category», но я подумал это будет добавлять семантики.
Это наоборот нарушение БЭМовской семантики.
>>6123
Ты doParse() синхронно вызываешь. Алсо колбэки должны возвращать значение, а не передавать мидлвари.
Учил вью. Про ООП, ангуляр слышал только в калометании жс тредов.
Взяли несмотря на абсолютное незнание ангуляра.
В целом там все тоже самое что и в других фреймворках, просто немного не так ну и типизация.
Идет второй-третий месяц, делаю таски, логику правлю, более-менее справляюсь.
>>6138
Хз, возможно. Сам по себе прроект большой, но по коммитам не вижу, чтобы кто-то вне коллег коммитил.
>Это нужно исключительно в случае конфликта имён
Но ведь так понятнее. Если написать просто categories-list__img, то фиг его знает, что именно за img. Может это img из внутреннего списка товара или еще какой-то. А если написать categories-list__category-img, то сразу понятно, что это за картинка. Это ведь не влияет на каскад и наследование. Чисто для людей, чтобы было понятней?
>Это наоборот нарушение БЭМовской семантики.
Не могу понять как это нарушает БЭМ-овскую семантику, поясни, если не трудно
До сих пор не открывал доки, кстати. Думаю я плохой джун.
>Но ведь так понятнее.
Нихуя не понятнее, ты говнокодишь псевдоблок, которых в БЭМе не существует.
>Если написать просто categories-list__img, то фиг его знает, что именно за img.
Да ты что? Вообще-то само название уже говорит, что это элемент img блока categories-list. А если у тебя два разных картинкоэлемента, то они и называться будут по-разному. Точнее сам их назовёшь по-разному, когда стили поедут.
>Не могу понять как это нарушает БЭМ-овскую семантику, поясни, если не трудно
Никто тебе не будеть ничего пояснять. БЭМ он для написания компонентов, а не наименования вложенностей разметки. Пока ты не поймёшь, как разделять контексты компонентов, ты не поймёшь БЭМ.
Твою мамку тоже можно шлюхой называть, что технически не запрещено документацией, но чёт я не вижу, что к ней так обращаются.
Я ничего не понял анон(
Вот мой эндпоинт это app.get (правильно ведь?)
Дальше там идет колбек async function
В нем я запускаю функцию, она начинает работать, да, я вижу это в консоли. Но она ничего не возвращает, как мне достать из нее данные которые она сгенерировала?
Лучше документацию почитай
Почему у тебя runParser, но express? Почему не runExpress? Или почему не parser? Чем ты руководствуешься? Почему такое неконсистентное именование?
??? какая разница какое название в данной ситуации?) ранпарсер, потому что он запускает парсер.
>>6501
Анон, я прочитал доку, посмотрел все видосы на ютубе и вывод к которому я прихожу говорит о том что экспресс обычно так не используют. Из него не вызывают сторонние функции, насколько я понял. Я готов почитать доку если там есть объяснение на мой вопрос, может ткнешь меня в него? сделай милость
>какая разница
Огромная. Это одна из всего двух основополагающих проблем программирования. Если ты задаешь такие вопросы, то ты законченный дебил.
puppeteer
Сейчас же капча везде, твой бот разве не соснет от этого?
Я имею ввиду целиком проект с html, js, вся хуйня. Его ведь выгодней тогда по cdn передавать
Это не настолько критично, как медиа. Плюс он кешируется у юзера.
Отдавать с своего сервера, очевидно же.
Нет ты.
Небоось еще технический дизайн делаешь? Патаму что зачем дизайнера нанимать, если есть кодер...
Нет, только пилю бэк и фронт, ну ещё иногда учу аналитиков писать тз.
Получение возможности срать уебищными ничего не значащими .nav и .wrapper по 10 штук на проект?
Локал скопинг, у которого кроме подтирания говна в класснеймах какие задачи?
>No more conflicts.
>No global scope.
За несколько проектов с БЭМом не было ни одного конфликта и о глобал скопе даже не думал
>modular and reusable CSS!
>Explicit dependencies.
То есть эта свистоперделка — в первую очередь о CSS как таковом?
Эти "modular reusable и с dependencies" каким образом архитектурно впихнуть в независимые инкапсулированные компоненты?
Если это к уровню компонентов никакого отношения не имеет и относится чисто к CSS: в чём заключается "модульность цсс "модулей" в сравнении с любым цсс препроцессором?
На практике вижу:
1. Замену длинных блок__елемент--жирный на import {elementGovna} cn={elementGovna}
2. Неадекватный пердолинг отваливающихся иде и тайпскрипта
3. Нуль сколько-нибудь объективно полезных улучшений
Я не гуру фронтенда, но эта хуйня выглядит тотально бесполезным говном в проруби между цсс-ин-жс и обычными современными цсс процессорами
>галп
>модно
2). Как в slick slider задать фиксированное число дотов вне зависимости от кол-ва слайдов. Чтобы не приходилось ограничивать их число скриптом
3) если всё это нельзя реализовать в slick slider, то в какой библиотеке можно?
Даже какой-то жсфиддл бы подошел, но там кросс-ориджин, да?
Так на верцеле же облака и лямбды.
БЭМ - это неудобный костыль, который был неплох и не имел хороших аналогов в свое время. Сейчас он не нужен. Просто ты скорее всего привык с ним пердолиться, вот и бугуртишь от модульных новшеств.
У тебя несколько компонентов с непохожей функциональностью, но единым дизайном. Запилишь свою систему классов? Чем она будет лучше БЭМ?
Пердед, в любом шаблонном языке можно компоненты композировать как тебе в голову всбредёт. БЭМ в этом случае сводится к менеджементу неймспейса стилей.
Пиздец, ты даже не понял о чем речь. Компоненты это одно, а стили это другое. Проблема даже со styled components не исчезает. У тебя те же стили могут использоваться вообще вне твоего js фремворка. Вот захотят часть приложения на рельсах написать.
>Компоненты это одно, а стили это другое.
Вот только БЭМ сам по себе компонентный подход продвигает.
>У тебя те же стили могут использоваться вообще вне твоего js фремворка.
Причём здесь БЭМ, наркоман? Я так же могу сказать, что за пределами твоего проекта намного проще конфликт неймспесов словить, так как у тебя нет контроля над ними. А CSS-модули можно на любой проект завезти, где хотя бы краем уха о вебпаке слышали. И они никогда не будут конфликтовать.
>Вот захотят часть приложения на рельсах написать.
А если захотят тебя выебать в жопу, будешь бегать смазывать на всякий случай? Пиздец блять, рельсы - лютая некрофилия.
На фрилансе закажи макет, практически за еду сделают.
Еще кстати не понятно насколько большим и сложным должен быть пет-проект. Если я сделаю сайт прогноза погоды, который будет дергать апишку м показывать погоду при выборе города на сегодня/завтра/три дня и отрисовывать в табличках этого будет достаточно? Или надо придумывать что-то более навороченное. Я думал делать несколько небольших проектиков, а не один огромный.
Можно и небольшой написать, просто чтобы там по максимуму было напихано технологий, которые ты знаешь.
Нужно чтобы прогнали по всяким залупным моментам html/css про которые спрашивают на собесах и по всяким задачкам в стиле "задизайните нам твиттер". Если есть курс для повторения html/css то тоже сойдет.
Еще посоветйте годных курсов на ютубе по скрипту , пожалуйста.
По БЭМу допускаются композиции, в ридми цсс-модулей точно такие же композиции
Какое "модульное новшество"?
Слезно прошу, подтолкните в верном направлении, может я как-то не теми словами гуглю и потому не нахожу подробные разъяснения
Какой нахуй видос по пропсам, наркоман? Ты не умеешь объекты передавать в аргументы функциям или что?
Ну да, не умею
читай доку внимательнее
['1Q2022', '2Q2022', '3Q2022', '1Q2008', '2Q2008', '3Q2017', '2Q2017']
превратить в объект типа
{
2008: 1,2
2017: 2,3
2022: 1,2,3
}
это как-то связано с Set
Ладно, задача оказалась гораздо легче чем я думал, фиксы приветствуются
let arr = [
"1Q2022",
"2Q2022",
"3Q2022",
"1Q2008",
"2Q2008",
"3Q2017",
"2Q2017",
];
let newArr = arr.map((quarterToYear) =>
quarterToYear.split("Q")
);
let obj = {};
newArr.forEach((item) => {
const year = item[1];
const quarter = item[0];
if (!obj.hasOwnProperty(year)) {
obj[year] = [quarter];
} else {
obj[year].push(quarter);
}
});
console.log(obj);
Ладно, задача оказалась гораздо легче чем я думал, фиксы приветствуются
let arr = [
"1Q2022",
"2Q2022",
"3Q2022",
"1Q2008",
"2Q2008",
"3Q2017",
"2Q2017",
];
let newArr = arr.map((quarterToYear) =>
quarterToYear.split("Q")
);
let obj = {};
newArr.forEach((item) => {
const year = item[1];
const quarter = item[0];
if (!obj.hasOwnProperty(year)) {
obj[year] = [quarter];
} else {
obj[year].push(quarter);
}
});
console.log(obj);
let arr = ['1Q2022', '2Q2022', '3Q2022', '1Q2008', '2Q2008', '3Q2017', '2Q2017'];
let obj = {};
for(let item of arr) {
let year = item.slice(2,6);
let kvartal = item.slice(0,1);
if(!obj[year]) {
obj[year] = [kvartal];
} else {
obj[year].push(kvartal);
}
}
>Нечитаемо же
Ты сюда за идей приходишь или за кодом? Двощеры уже не в силах размотать однострочники?
ну ненадо ну не стукай
Просто с редьюсом я плаваю, а ??= вообще ни разу не видел. Спасибо
Хотя какая разница?
Хрена я хацкер.
не работает :(
За що?
Однако через элементы в браузере подключен файл main.css. Только на пеке его нигде в папках нет. Вот магия. Что творит, дьявольщина.
Немного переписал логику, опробовал React.lazy и Suspense. Нихуя не помогает. Сами запросы асинхронные, в консольке всё очень быстро появляется, а вот пока этот список отрендерится (хотя с апи всего 20 фильмов приходит) остальные компоненты так и находятся во фризе. Поведение в принципе понятное, но непонятно как это пофиксить.
Может дело в использовании Material UI?
Всё нормально там работает. Это я малость затупил. Отдельный файл должен создаваться при билде, а в дев моде стили в хеад записываются.
А как мне теперь дальше двигаться, как приложение написать полноценное? Откуда бэкенд брать, чтоб к нему запросы слать? Ещё хотелось бы с авторизацией потернироваться.
Неужели бэк тоже надо самому писать и учить ноджс, экспресс? Неужели нигде в мире нет готового бэкенда на котором можно натренироваться и чтоб там с авторизацией можно было натренироваться?
npm run build пробовал запускать?
Благодарю, большое спасибо, буду значит этими штуками пользоваться
Ребят посоветуйте пожалуйста ресурс где могут помочь по теме создания телеграм ботов на NodeJS. Может есть специализированный чат какой-нибудь.
А еще лучше подробный гайд где разбирали бы взаимодействие JS с api телеграма, разные ивенты и особенно асинхронность, как правильно организовывать код. Все уроки которые нашел (наверняка плохо искал) сводятся к 10 минутному описанию самых базовых очевидных вещей.
Видел хорошие уроки на питоне, но не теряю надежду что на JS тоже есть.
Если кто-нибудь годноту не подскажет, то придется на питухоне лабать - если хорошие есть на питухоне
Чем создание ботов на поле отличается от создания ботов на питоне?
Это копия, сохраненная 5 августа 2022 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.