Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: что я хочу получить, что я для этого делаю, что я вместо этого получаю. Если когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
Аноны, подскажите молодому. Вчера получил оффер на джуна реакт. Но сейчас меня волнует вопрос - часто ли джуны верстают? Просто я верстаю очень медленно и с полноценной поддержкой от стэковерфлоу. Да и хотелось бы узнать примерные задачки джуна. Компания продуктовая. Не ДС.
>>1772187 Да я думал меня не возьмут даже, я на половину вопросов только ответить смог и пузырек написал еле как. Так что уже с грустью уходил. А тут позвонили и говорят мы вас берем.
>>1772082 Сейчас забавная ситуация. Норм мидлов и синиоров почти нет на рынке, а джунов просто дохуя. Так что или сиди года полтора по 6 часов в день учи и вкатыайся на мидла на 100+к , или просто забей. Вакансий для джунов мало и это в основном такое дно, что ты просто охуеешь.
>>1772185 Html/css развивается, очень много новых классных возможностей, много всего теперь можно без программирования и костылей решать, выучи верстку. Хотя бы интерактивные курсы кокодемии пройди все, там подписка 300р месяц на все курсы.
>>1772617 На хабре недавно про это была статья. Пережиток прошлого скорее всего. Ну и вообще в программировании плохо без логического мышления, а алгоритмы прекрасно показывают уровень развития логики.
>>1772696 Ну так они превращаются и остаются работать. Или еще дольше работать и выо фриланс. А долбоебы и ноют, что нету мидлов. Так мидлам и работа не нужна, она у них уже есть. Сеньерам тем более.
Правильно ли использовать циклы везде, где только можно. Вместо всяких мапов и редьюсов, вместо рекурсии и вообще. Они же быстрее, а скорость важнее всего.
>>1772070 (OP) Так парни есть вопрос. Стажируюсь в JS. Написал тестовое задание, все вроде норм, но наставник говорит не используй delete. Есть объективные причины почему этого не стоит делать?
>>1772885 Ой да копейки, на самом деле, но я рад что хотя бы забрался в эту сферу, в моем городе с 200к населения, такой работы считай нет. 25к, для человека без опыта работы программистом, нормально. Обещают что зарплата будет подниматься с ростом скила.
>>1772893 Это как бы синонимы, можно создать, можно удалить получится одно и тоже, только в одном случае это 1 строчка, в другом строчки 3. Это оправдано?
>>1772884 Я прочитал конечно статью на хабре сейчас. Но проблема разве не в том что лучше там где нужна копия объекта, а не ссылка, создавать копию, а не бороться потом с проблемой мутаций?
>>1772904 Это просто корзина магазина тестового сайта. Объект ассоциативный массив, id товара ключ, внутри запрос с БД, с названием, описанием, ценой и т. д. Удаляем товар он удаляется в объекте. Но вопрос не в конкретном примере. Потому что, оператор есть, значит должен быть повод почему не использовать его.
>>1772911 Потому что так заведено. Ебаная ты обезьяна, я сейчас тебя водой оболью. Ты деньги получать хочешь, или об операторах рассуждать? Если первое, то закрой ебало и забудь о существовании delete. Диды говно жрали и ты жри.
>>1772929 Облазил весь инет, диды нормально юзают delete, не юзают только когда нужно совместимость с древними браузерами, и когда нужно больше скорости, obj[key]=undefined работает на порядок быстрее, но не удаляет свойство полностью.
>>1773104 Скажите, почему эту хуйню нельзя поправить? Вреда же явно не нанесет. Вот просто взять и сделать, чтобы 0.1 + 0.2 было бы, блядь, равно 0.3. Разве такая хуйня не может приве5ти к хуевым последствиям?
>>1773105 Это всего лишь потребует больше памяти и больше времени для операций. Опционально нужно будет поменять процессор. Потом правда 1 поделишь на 3 и память закончится
>>1772920 >learn.javascript как основной учебник + задачи
>мдн справочник посмотреть методы массива, или почитать про какой нибудь апи, можно использовать как учебник, но примеры кода выглядят сложнее и менее понятны чем кантор
>w3 энциклопедия для задротов, у всех в закладках, почитают как нибудь потом, но не в этот раз
Есть ли какой-нибудь обработчик закрытия вкладки браузера в vue \ js (конкретной, на которой и работает скрипт)? Надо выполнить функцию перед закрытием вкладки.
Сап. Есть смысл вкатываться к вам, если в будущем скорее всего, наверное буду заниматься мобильными приложениями на андроиде? А то слышал, какой то котлин появился и он типа вытесняет джаву.
Пытаюсь тут vuetify через вебпак подключить, но эта паскуда не хочет отображать css. Если в index.html прописать линк (CDN) то работает, а через конфиги - хуй. Пробовал обычный style-loader - проблем нет, работает, а vue-style-loader никак не хочет реагировать. Как заставить его подключать css?
>>1773418 Ты ебанутый, какой порядок пропертей в объекте? Иди прочитай разницу между массивом и объектом, на работу его взяли и он про операторы тут рассуждает, ну охуеть теперь. Хоть бы догадался в консоли браузера взять тот же пример, поменять местами проперти и чекнуть результат, прежде чем так обсираться.
>>1773461 Ситуация ни разу не смешная. Берут на работу человека, который базовых типов языка не знает. Да, можно постоянно повторять, что не стыдно чего-то не знать и стыдно не спросить, но вот опция прочитать первую страницу любого справочника по языку или тупо за минуту проверить механизм работы структуры в девтулсах почему-то забывается. Ну да, это ведь думать придется, проще же трудоустроиться а там видно будет, что непонятно - мидлов дерну, у них же дохрена времени на меня. А потом, сука, на ревью такие волосатые велосипеды разгребать приходится, что просыпается нейрофизиологический интерес к автору кода.
Ладно, простите, долго копил огонь в отверстии просто.
>>1773498 > проще же трудоустроиться а там видно будет, что непонятно - мидлов дерну, у них же дохрена времени на меня А хуле нет? Ты думаешь, люди идут на работу ни ради денег, а чтобы всем показать, как они хорошо языки знают?
>>1773510 А, ну раз ради денех, то можно и коллег подоебывать с элементарными вопросами с первой страницы гугла. Варианта с интересом к профессии (даже ради тех же денех) у нынешних вкатывальщиков нет, понятно.
>>1772870 Ты ее все равно правильно не сделаешь потому что нет четкого определения что там семантика а что нет, есть целые блядь сука нахуй ВИДЕО КУРСЫ какой из стулов выбирать артикль или сектион. Юзай див и не парься, пока тебе сеошники прямо не скажут для семантики поставить нужный тег в нужном месте.
>>1772854 article можно вырвать из страницы, вбросить на другую, и он выглядеть будет нормально. Типа "увеличить хуй сейчас [ссылка]". section часть страницы, которую вырвать нельзя. Типа "альтернативные способы увелечения хуя".
>>1773356 Это не удаление свойства, ведь свойство prop_to_remove осталось у объекта data. А твои const не позволят записать ссылку на новый объект без ненужных свойств. Т. е. вообще не понятно зачем ты это высрал и как это отвечает на поставленный вопрос.
>>1773540 А где в постановке задачи говорится. что нужно именно удалить свойство и именно у оригинального объекта, и почему копия объекта без ненужного свойства не выполняет эту поставленную задачу, мм?
delete не юзают по нескольким причинам: 1. Дроч на иммутабельность 2. Кривая работа в ие
В дроче на иммутабельность, при его избыточности на петпрожектах есть здравое зерно на больших проектах с командой разрабов - безопаснее создать новый объект в нужной тебе конфигурации и работать с ним, чем надеяться, что код другой макаки не упадет от сайд-эффекта твоего кода в виде пропавшего свойства в объекте.
>>1773560 >А где в постановке задачи говорится. что нужно именно удалить свойство и именно у оригинального объекта, Это следует из определения оператора delete: >The JavaScript delete operator removes a property from an object;
>и почему копия объекта без ненужного свойства не выполняет эту поставленную задачу, мм? Потому что у целевого объекта остается целевое свойство, очевидно.
>delete не юзают по нескольким причинам:
У тебя есть словарь ключ-значение, как ты собрался удалять ключи без delete? Будешь каждый раз при удалении создавать копию объекта? Тогда поздравляю, ты только что породил очередную порцию говнокода.
>>1773596 Какого хуя ты только что придумал что в задаче нужно именно удалять свойство у начального объекта? Прочитай изначальный пост, там про то, что ментор наказал не использовать оператор delete. Значит, задача решается другими способами. Какими - расписали выше, с вероятными обоснованиями почему так.
Ну сегодня я закончил читать https://learn.javascript.ru/ , некоторые задачки прорешал. Я нихуя не понял некоторые темы, прототипное наследование, call, apply, прокси. Что ещё прочитать? "Вы не знаете жс" на гитхабе сойдёт?
>>1773611 >Какого хуя ты только что придумал что в задаче нужно именно удалять свойство у начального объекта?
Скотина тупорылая, оператор delete только это и может сделать. Если ты его используешь, но твоей задачей не является "удалить свойство у определенного объекта", значит ты его используешь не по назначению.
>Значит, задача решается другими способами.
Какая задача, дебил? В том то и дело, что "сказал не использовать" ничего не говорит и нужно знать конкретную ситуацию в которой он использовал оператор delete, а дальше можно уже сделать вывод, либо ментор пуганый дебил вроде тебя, который при виде delete срёт в штаны и начинает нести бред про иммутабельность, либо это он использовал delete не по назначению, а ментор не стал заморачиваться и сказал "не используй delete".
И именно про "чтобы удалить свойство достаточно сделать" ты написал в своём посте. Если тебе нужно удалить свойство, то достаточно использовать delete. Если тебе нужна копия объекта без определенных свойств, то можно воспользоваться spread оператором, как в твоём примере.
>>1773612 насколько я знаю в этом учебнике 3 книжки >прототипное наследование меньше слоев абстракции, по сути объект может иметь ссылку на родителя а может и не иметь, можно юзать конкатенации, но множественного наследования как в крестах тут нет, нельзя присосатся к нескольким родятелям.
>>1773623 >батя говорит не носить розовое, потому что вырос с установкой - розовое == пидор >носи розовое >РЯЯЯ НО ВЕДЬ СКАЗАЛИ НЕ НОСИТЬ ЗНАЧИТ НУЖНО ГОВОРИТЬ ПАЧИМУ ЕМУ НЕ НОСИТЬ!!! КАКТЫСМЕИЩ!!
Нигде не используется. Там где нужен ООП-js используют TypeScript, а через пару годиков и в js классы до ума доведут.
>call, apply, прокси
Понимание с опытом приходит. Тебе не читать нужно, а писать код. Материала с https://learn.javascript.ru/ вполне достаточно для того чтобы начать это делать. Уже после практики можешь еще какую-нибудь книгу прочитать.
>>1773619 >оператор delete только это и может сделать Спасибо, кэп. Осталось всего ничего - не использовать его, согласно условию из изначального поста.
>либо ментор пуганый дебил вроде тебя, который при виде delete срёт в штаны и начинает нести бред про иммутабельность Назвать аргументы бредом != опровергнуть их.
>это он использовал delete не по назначению, а ментор не стал заморачиваться и сказал "не используй delete" Но ведь ты же сам написал, что делит только удалять и умеет, как его можно использовать не по назначению? Впрочем, судя по последующим постам, не удивлюсь, если тот сверхразум таки справился с этим.
Никакого пиитета перед иммутабельностью не испытываю, выше писал про главную причину дроча на нее на больших проектах с командой. Это банально снижает риски для проекта в условиях, когда на нем трудятся десятки макак.
>>1773630 Да, да, боевые аналогии. Вот только не послушав батю максимум, что случится - он наорет на тебя, а вот с работы за необучаемость и привнесение трудноотлавливаемых багов (это же жс, детка) вполне могут попросить на мороз.
>>1773646 >согласно условию из изначального поста. Какому условию? Которое ты нафантазировал? Человек спросил "почему не использовать delete", ты привел пример создания копии объекта без определенных свойств, т. е. пример, который к оператору delete никак не относится, потому что у него другое предназначение.
>Но ведь ты же сам написал, что делит только удалять и умеет, как его можно использовать не по назначению?
Тебе нужен объект X, который будет обладать определенными свойствами объекта Z, вместо того чтобы создать копию объекта Z не изменяя его, ты удаляешь эти свойства у объекта Z и создаешь из него объект X.
>Это банально снижает риски для проекта в условиях, когда на нем трудятся десятки макак.
Так и при чём тут delete? Снижает риски осознание того, что удаление свойства объекта может повлиять на код, который обращается к этому свойству, а не запрет на использование каких-либо операторов или конструкций.
>>1773498 >Ну да, это ведь думать придется, проще же трудоустроиться а там видно будет, Не проще. Трудоустроится совсем не проще. Это я тебе как javascript-ninja, знающий все тонкости языка, но без работы, говорю.
>>1773650 >Какому условию? Которое ты нафантазировал? >наставник говорит не используй delete Я уже хз как тут изъясняться.
>ты привел пример создания копии объекта без определенных свойств Начнем с того, что у тебя сломан детектор и пост с кодом писал другой анон.
>который к оператору delete никак не относится, потому что у него другое предназначение ...и дающий на практике тот же эффект, что и удаление проперти.
Тут ты возразишь, что нет, не тот же - ведь в исходном объекте проперти осталось.
Что ж, давай разберем по частям варианты: 1) Если объект пришел к тебе из чужого кода, тебе с вероятностью 99% не нужно удалять в нем проперти - хер его знает куда ссылка на этот объект была отправлена еще и что с ним делается после выполнения твоего кода. Удаляя в нем проперти ты неиллюзорно можешь сломать код, который находится в километре от места правки и был написан год назад другим стажером. "Понимать надо" - аргумент на петпрожекте, но не для галеры, которая набирает джунов на проект с большой кодовой базой. Если на проекте нет ts (а его у них нет), то образовавшийся баг потом еще и будет сложно локализовать. 2) Если объект был создан в скопе кода того долбоеба, то я совершенно не против делита (вопрос только нахрена он в свой же объект засунул ненужное проперти). Пусть он так и ответит своему ментору, что на дваче в холиваре сцепились дед с батей и разрешили ему делитать проперти. Земля ему, как говорится, пухом.
>>1773656 >...и дающий на практике тот же эффект, что и удаление проперти. Так неправда же. Удали своим методом проперти у инстанса класса, какого-нибудь. У тебя на выходе новый объект, и не являющийся инстансом того же класса, который был изначально. Эффект совершенно иной. даже семантика разная. Оператор - удаляет свойство. Ты создаешь объект без свойства.
>>1773661 О, твиттер-синьоры пожаловали. Добро пожаловать, в это сложно поверить, но тут посты больше 200 символов бывают. В том посте следующее за процитированным предложение разбирает эту ситуацию.
Ну и? На этом пост заканчивается? Нет, за этим следует: >Есть объективные причины почему этого не стоит делать? Так почему ты решил, что условие именно "не использовать"? Как раз наоборот, человек хочет использовать и не видит объективных причин кроме "наставник сказал".
>Начнем с того, что у тебя сломан детектор и пост с кодом писал другой анон.
Так если ты встреваешь в цепочку постов, то отвечай за того анона, потому что цитировал изначально я его пост.
>1) >2)
Зачем ты пытаешься натянуть сову на глобус и приводишь примеры в которых delete использовался бы не по назначению? Тебе уже привели подходящий пример: ты работаешь с объектом внутри которого какой-либо словарь, у него есть два метода:
getValueOrDefault(key){ return searchKey in someDic ? someDic[searchKey] : someDic["NotFoundValue"]; }
И:
removeKey(key) { delete someDic[key] }
Какие причины не использовать в данном случае delete? Потому что наставник так сказал?
>>1773672 Не >хочет использовать и не видит объективных причин кроме "наставник сказал". , а прямо спращивающий >Есть объективные причины почему этого не стоит делать? На что и были приведены примеры и даны причины. Если ты прочитал его пост и увидел в нем задачу - копротивляться ментору, а не найти обходные пути согласно наставлению, то тогда вопрос отпадает.
>подходящий пример подходящий кому, тебе? Тем что объект используется как мапа? Делитай ради бога, я не против.
>>1773681 >На что и были приведены примеры и даны причины. Якобы там что-то может случиться или что-то вдруг. То есть не нужно использовать прямой метод, нужно создавать новый объект, засирая память, только из-за иллюзорно возможной ошибки.
Стажер написал, что это нужно как ассоциативный массив для корзины.
Ему посоветовали использовать предназначенную для этого мапу, чтобы не делать велосипедов. А при работе с объектами, а не мапами, особенно пришедших не из его кода, делать копию без проперти в одну строку.
Ты же предлагаешь решение, где корзина сама будет объектом, у нее вложенный объект, работающий как мапа, у корзины будет метод с доступом к проперти объекта по имени из ввода пользователя (!) и делитом пропертей. А когда на ревью его спросят - какова хуя, пусть так и отвечает: >Якобы там что-то может случиться или что-то вдруг >только из-за иллюзорно возможной ошибки.
Да-да, именно это и называется "не использовать прямой метод". Шуе ппш.
>>1773596 > У тебя есть словарь ключ-значение, как ты собрался удалять ключи без delete? Будешь каждый раз при удалении создавать копию объекта? Тогда поздравляю, ты только что породил очередную порцию говнокода. Какой же тупой вкатыш. Поработал бы хотя бы на нескольких реальных проектах для начала, вместо того чтобы бездумно серить в тред. Говнокод — это удаление свойств объекта через delete. Delete по щелчку пальца может создать овердохуя багов. А адекватный код — это как раз вернуть новую сущность. Удалить что-то в словаре ключ-значение намного лучше методом filter, с сборщик мусора просто уберёт старый неиспользуемый объект
>>1773760 >нужно удалить свойство >не, нахeq, мы так не делаем >лучше создадим копию нашего йоба-объекта без этого свойства >оптимизация? кому она нужна?
>>1773775 Не, ну это уже толстота какая-то. Алло, это же корзина, там удаление по одному товару делается. Даже если ты набрал 1000 товаров и на сайте сумрачные гении юи дизайна запилили массовое удаление, разница между этими реализациями будет измеряться в миллисекундах даже на бабушкином калькуляторе. Да у тебя ажакс дольше отправляться будет.
>>1773778 Ты кого спрашиваешь, программиста? Ты менеджеру проекта, который зарплатой за качество отвечает, или конечному клиенту предложи выбрать - оптимизация в одном действии (удалении одного товара) в 10мс или возможный баг в рандомном месте оформления покупки на сайте. Аа, не знаешь кто это, понятно. Иди байтоебить в скриптовом языке дальше и надейся, что мамка сможет прокормить тебя еще пару недель до следующего собеседования.
>>1773781 Потом из-за таких долбоящеров мы смотрим на заглушки минутами и ждем прогрузки страницы, всё это во времена высокоскоросного интернета в каждом доме.
Посоны отработал на работе недели 3. Сейчас стали подписывать ТК я не мог доки донести. Там 50к, а остальное тип на руки. За прошлый месяц выдали нормально, но я хз. Стоит на это подписываться или нет? Остальные вроде норм работают и по поводу ЗП никаких вопросов ни у кого нет.
>>1773850 Это норма. У нас вообще 40к по ТД только. Остальное переводом с карты на карту. В Рашке же живём, тут айти душат налогами как будто не в офисе сидим, а нефть качаем.
Ребята какая средняя скорость верстки что бы не быть обоссаным? Ну и к примеру выучил я этот ваш хтмл ксс пару приемов в жопаскрипте возьмут ли меня хотя бы на 30-35к?
>>1774435 Да ебанаврот, открой ты hh уже наконец и сравни требования в вакансиях со своими скиллами. Откуда мы должны знать что там у тебя за пара приемов и в какой залупе ты вообще живешь?
>>1773104 Хы. >>1773180 Ну ты и загнул. >>1773102 >console.log(1-0.67); //0.32999999999999996 console.log(+(1-0.67).toFixed(2)); //0.33 >>1773105 >Вот просто взять и сделать, чтобы 0.1 + 0.2 было бы, блядь, равно 0.3. Разве такая хуйня не может приве5ти к хуевым последствиям? +(0.1+0.2).toFixed(1) //0.3
Ну всё, теперь пиздец, и щас точно - всё везде взорвётся нахуй.
Сука, как же я люблю кодить и как же не люблю работать программистом Если б не работа, не семья, не тугосеря, сидел бы сча пилил ML на WASM, и эмулятор Gameboy на JS под KaiOS
>>1774596 Это не так работает. Чтобы получитьзанчок джун\миддла\сениора - нужен реальный опыт работы в реальной компании. Ты можешь 20 лет фрилансить и быть профи, но если пойдешь трудоустраиваться - то ты будешь джуном.
>>1774612 я по уровню знаний а не стажу, да и даже если придет ждуном через полгода может попробовать повысится на текущей работе, есть гипотетический шанс что позовут на собес мыдла, но это как в лотерею выиграть, я бы не расчитывал.
>>1773763 Реально даун? Какая нахуй оптимизация, вкатыш ты недоделанный, никто в продакшене не удаляет сущности через delete. Сейчас бы на списках экономить, тем более в жсе. А ну скажи мне, в чем проблема создать копию? У твоего сяоми пятилетней давности 2 гига оперативки не хватит пока сборщик мусора отработает? Никто в реальных проектах такой "оптимизацией" не занимается. Охуеть, предмет из корзины будет удаляться на 3 мс быстрее, заебись.
>>1774279 Для корзины выше уже посоветовали взять мапу, а для объектов делит не нужен от слова совсем. Если возник кейс, при котором тебе нужно удалять проперти объекта, ты скорее всего используешь объект как ассоциативный массив, а мапа для этих целей лучше приспособлена.
>>1774629 Кто выше жаловался что возможности языка не используются по назначению? Или неиспользовать делит это плохо, а неиспользовать мапу ЭТО ДРУГОЕ?
>>1774635 >Где мало вкатышей и вакансий для новичка нормально не существует, где есть специалисты там есть работа, где специалистов нет, работы тоже нет.
>>1774639 Map это не возможности языка. Это элемент стандартной библиотеки. Возможности языка - это как раз map[string]any на нативных объектах, с delete и шлюхами.
Map нужен, когда у вас ключи не примитивы, или не только примитивы. Во всех остальных случаях это оверхед. Для несогласных, я предлагаю пилить отдельный класс наследник Array на каждую сущность под семантику бизнес-логики.
>>1774633 И тут бизнес встает перед дилеммой: Или заниматься оптимизациями миллисекунд по настроянию вкатывальщика с двачей, тратить на это ресурсы программистов, привлекать более дорогие кадры чтобы проанализировать последствия сайд-эффектов, кинуть еще пару тестировщиков или даже автокуа для покрытия регресса, связанного с тем, что эта оптимизация теперь имеет сайд-эффекты, замедлить жизненный цикл продукта просрать конкуренцию из-за выросших издержек или пропущенных багов, гроб гроб сокращения банкротство Или Не юзать сраный делит на общих объектах
Выброси из головы мысль, что ты всех умнее и знаешь, как лучше. Пока ты будешь вылизывать свой код, тебя обскачут кабанчики с неидеальным, но уже работающим кодом.
>>1774588 Где нет-то? В поисказ работы? А нахуя мидлу искать, если у него работа есть? Мидлов полно, но работу им искать незачем. В ит-руководстве реально какие-то дауны.
Разумеется вкатышей будет полно, ибо они на то и вкатыши, чтобы пытаться вкатиться.
>>1774684 Не важно, что ты делал. Сабжевая иерархия - чисто корпоративный нюанс, и не имея опыта корпоративной разработки - ты джун, наплевать с каикм багажом знаний. Ясно?
Делаю приложение на Express + React + Mongo. Внезапно понадобилось хранить картинки. Так вот, можно ли в одном запросе отправить сразу JSON и multipart/form-data с файлами? Или нужно костылироваться и делать 2 запроса по очереди?
>>1774641 Там тоже нужны мидлы и сеньоры, я как то пытался в китайский - не осилил. Значки вместо букв это хуета, а вот разговорный - там пиздец. Мало того что произношение не как у европейцев, так еще и ебучие интонации меняющие полностью смысл слова. Порог вхождения пиздец, эта вам не байты ебать.
Господа, нужен ваш совет. Осилил 2/3 профессии JS front на hexlet.io (+ 2 тестовых проекта на ноде), но отложенный на вкатывание бабос не бесконечен, да и там уже начинается какая-то совсем не джуновская поебень, и к тому же в этой профессии какого-то хуя нет html/css (они на хекслете в отдельную профессии вынесены). Решил по фасту вкатиться в html css , сделать какой-нибудь тестовый проджект на js/html/css и пытаться устраиваться уже на джуна. Посоветуйте пожалуйста годный (и в меру краткий) курс по HTML/CSS, ибо боюсь, что на хекслете я еще два-три месяца буду вариться в куче не особо нужного джуну материала. Пока прошел микрокурсы на code-basics по css html, там были самые основы. Собственно, нужно довести скилзы до такого уровня, чтобы мало-мальски простые джуновские проекты делать.
>>1774702 Это не так делается, ты сначала отдельным запросом загружаешь картинки. Наприпер на Amazon S3. Он тебе возвращает список урлов по которым будут доступны твои картинки и вот эти урлы ты сохраняешь уже в свою запись в бд
>>1774954 Нет, я сам учил. Просто брал и верстал. Но по-поводу кокодемии хорошие отзывы. Берешь и в интерактивном окошке кодишь. Часть платно, часть бесплатно.
Ну вот к примеру. Качаешь и пытаешься сделать. Все непонятное гуглишь. Ну и можно книжку какую-нибудь параллельно читать. типа Responsive Web Design with HTML5 and CSS (2020)
>>1774179 Нет. С чего бы? Всего 100к в месяц. Одним переводом. Никаких признаков ведения бизнеса. Может тебя мамка обеспечивает деньгами. Как они проверят?
Гайз, есть вопрос. Вот подключаю я на свой сайт платежную систему скажем. А какой нужно указывать счет для зачисления бабок? Я имею ввиду счет физлица наверное же не подойдет, нужен счет ФЛП ?
>>1775005 Он стоит 99 бачей или я чего-то не понял? Я к сожалению на мели, и заплатить за него не смогу :( Может, есть какие-нибудь советы по поводу бесплатных шаблонов?
>>1773393 Так а куда можно .clientHeight привязать? Я гуглил, он везде к document.Element прикрепляется. Или ты о том, что мне нужно глобальный document.documentElement через querySelector получить? Я не панимат
>>1774976 >>Как они проверят? Что там проверять? Есть твой счет и каждый месяц на него по сотке приходит непонятно откуда - чем не повод заблочить за подозрительные действия. А доказывать обязан ты, а не они. я за наличку
В универе Си и поинтеры (от которых практически все стунденты плачут) поняты были буквально с первого раза как начал с ними работать (на примере лабы в которой надо было написать линкедлист свой). Какая-нибудь образная джава пишется просто как по маслу. А вот когда трогаю жс/реакт - одна каша в голове и не понимание. Это я такой тупой или для понимания жса надо немного голову в другую сторону переключить?
>>1775130 учил в универе 5 лет поинтеры, прочитал 10 книг по джаве, а когда решил на похуях вкатится в язык высокого уровня, с динамической типизацией, жидко обосрался и заплакал как младенец в песочнице
>>1775262 ну вообще перестроится с жабы на кресты попроще, ехал класс через интерфейс заезжая в фабрику фабрик синглтонов, жс легковеснее в этом плане.
Сразу скажу, что не фронтендер. Пишу небольшой интерфейсик для себя на Vue + Vuex. Начитался от всяких джесеров про прекрасный TypeScript, установил и борюсь с кучей ошибок. Эта хуита не хочет работать без специальных подготовок. Я так понимаю, чтоб понять вкус крови улучшений мне нужно будет значительную часть кода переписать в соответствие с его парадигмой. Стоит ли игра свеч? Я пока профитов не осознаю.
>>1775362 >Это меня больше всего вымораживает. Меня и так напрягают кучи dependencies, так теперь ещё и эту хуиту ставить. Не похуй ли? Тайпинги только в компайл тайме существуют.
>js это валидный ts Лол. Зависит от строгости конфига, но такой вариант пойдет для плавной миграции разве что.
>>1775351 > В чем прикол сабжа? В том же, что и в большинстве остальных статически типизированных языков - отлов части ошибок в компайл тайме и поддержка возможностей рефакторинга здорового человека. Если тебе это нахуй не упало - не юзай ТС, пиши сразу на ЖС.
>>1775351 В том же, в чём и прикол статической типизации. Если ты не писал на языках с статической типизацией, то тебе сложно понять будет. Если кратко, то переписав своё говно на TS, тебе легче будет его поддерживать, в нём будет меньше возможных багов. >>1775385 При том, что тебе будет легче изменять код, внося в него либо исправления, либо изменения, так как статический анализатор будет тебя бить по рукам, если ты начнёшь противоречить коду, который ты написал минуту/час/день/неделю/месяц/год/век назад.
>>1775262 Не знаю в чем проблема. По моему в моей голове тупой. Я до сих пор не понимаю принцип работы this в js. Я кое-как понял коллбэки. Да там очень много моментов, но чтобы сесть и написать что-то с нуля - я не могу на жсе вообще.
>>1775473 >принцип работы this работает как обертка для вызовов чего либо я может и ошибаюсь, пусть меня поправят, но что то типа виртуальной таблицы методов в жабе.
А динамический язык программирования - это не только про динамическую типизацию, а про динамический рантайм в целом, позднее связывание, message passing вместо методов, repl driven development, и прочее прочее прочее. Если пытаться продолжать думать не в тех абстракциях, конечно будет сложно. Нужно быть более гибким и тогда не будет сложностей.
Есть пикрил, который фетчит инфу по определенному запросу и сразу ее выводит под инпутом. С каждым новым поиском инфа обновляется. Как сделать чтобы при клике на вкладку хистори у меня отображались последние 10 успешных серчей? Пока крутится лишь мысль, чтобы каждый успещный серч сохранять в локал сторендж и потом при клике на хистори фетчить все 10 из локал стореджа
>>1772070 (OP) Сори, возможно, не туда обратился. Мне нужно как-нибудь сделать внешнюю клавиатуру на сайте. Понятно, что без js не обойтись. Я гуглил примеры, но они мне подходят потому, что там нет смены языка на английский. Что требуется от клавиатуры: 1) Смена языка на ангельский 2) Backspace 3) Пробел 4) Цифры (от 1 до 9) 5) И всего несколько символов (@, запятая, точка, тире) 6) Если кликаю на поле ввода она достается и наоборот Буду очень благодарен. Также буду очень очень благодарен если будут пояснения, что как работает или хотя бы немного написанно об этом. Просто я в js совсем зелёный и не знаю очень много. Буду благодарен, анон)
>>1775018 На хекслет значит есть 2500 в месяц а сам на мели?
Шучу, хекслет вроде норм тема. У академии добротные интенсивы по верстке, материалы по ЖС у них говно унылое. Интенсивы можно спиздить на nnm-club. Желательно перед этим пройти еще интерактивные курсы (можешь оплатить на месяц, они норм за 500 рубасов, но можно ограничиться бесплатными). Я сам когда вкатывался покупал интерактивные курсы и спиздил интенсив.
>>1772070 (OP) Всем привет Планирую запилить свою простенькую игру браузерную Примерно как травиан (ну типа строить город, он там сам по себе строится, развитие), но сильно на минималках, куда проще Цель не коммерция (ни в коем случае), а для души Выбор пал на js (аноны отправили в этот тред) Получается, что нужна серверная часть, на которой должны быть какие-то события, какой-то клиентский интерфейс, какая-то база данных, и все это должно взаимодействовать по сложным законам А есть какой-то пример такого взаимодействия, но с минимумом наворотов? Чтобы я подхватил основные вещи, но не запутался в деталях? Какой-то базовый образец для неофита, который хочет вкатиться на полщишечки для своих локальных целей На js не писал никогда, писал костыли на питоне
Сап, анончики. Мне тут понадобилось запилить скрипт для Tampermonkey, столкнулся с проблемой, которую не смог решить через гугл и на стаковерфлоу тоже ответа не дали. Спрошу у вас.
Когда создаю стиль, как для параметра стиля значение задать не конкретное, а в виде переменной? Чтобы было не parameter1: 100px; , а parameter1: variable;? А переменная уже может быть и 100 пикселей и 200 и сколько угодно.
Подробнее мой вопрос на картинке. Вкатился в js недавно, это мой второй скрипт только.
>>1775851 блять случайно отправил. в общем почему при клике на разные точки мне всегда стабильно прилетает 2 хотя должно прилетать 0 или 1 ? пока что тестирую всего с двумя точками на карте
>>1775828 >все это должно взаимодействовать по сложным законам >вкатиться на полщишечки
Поделил на ноль.
Ты походу сам не знаешь, что хочешь. Для начала тебе вообще бэк не нужен. Возьми хуйню типо json-server который тебе базу из жсона будет симулировать и все.
Если дойдешь до места, где тебе реально понадобится бэк (читай, напишешь всю базовую логику), там уже поймешь что тебе нужно.
>>1775721 Хекслет по старой подписке 24 бакса в месяц мне обходится, но да, всё равно немного жаба душит. А где это ты интенсив спиздил? На торрентах всяких?
анонсы, прилетает дата в русском формате в стиле 13.09.2020 надо ее перевести в timestamp. юзаю Date.parse() но он возвращает мне NaN. как я понял это из за того чтто он думает что я ему пытаюсь скормить 13 месяц в году, которого нет, но я просто сука юзаю русскую локаль с ее датами. как пофиксить проблему то и получать корректную временную метку ? в гугле ничего не нашел
Я в глаза ебусь что ли? Где можно посмотреть документации @types/react, @types/webpack? Какие типы они дают, что с ними делать можно? Что-то не могу найти нигде, читаю сурс код из node_modules, неудобно.
Привет аноны, пытаюсь в socket.io и у меня что-то не получается. Я хочу сделать чатик, который будет размещен по определенному роуту /user/chat и socketio юзать только на этом роуте. Если я размещаю код, относящийся к чату в основном файле app.js, вне роутов, то все работает. Если я размещаю код чата внутри
app.get('/user/chat, (req, res) => { и тд, то первый клиент подключается к чату, а второму выкидывает ошибку
'Error during WebSocket handshake: Unexpected response code: 400'. Гугление по ошибки дало только треды на стаковерфлоу по настройкам вебсокетов на nqnix, у меня явно не такая проблема.
Подскажите плиз, может кто сталкивался? Где я косячу, что я не так понимаю?
>>1775722 > >Выучи JS Да, фундамент нужен. Полгода хватит > >Выучи JQuery Не нужно > >Выучи Реакт Пара месяцев, изи > >Выучи Ангуляр Не нужен > >Выучи JSON > >Выучи AJAX Лол, что там учить?
>>1776559 Крч я дурачок, инициализацию сокетайо сервера надо делать прямо в апп жс без роутов. У самого socket объекта есть поле реквеста, оттуда всю инфу про запрос можно вытащить
Есть потребность в расширении для хрома. Нашел два, то что почти подходят, но не дотягивают до того, что я себе представляю. Для наглядности названия этих расширений: Citable; Notesheet. По сути просто сборщик инфы со страницы, что автоматом распределяется по гугл таблице. Я в программировани нуль, но с математикой дружу. С чего вы бы начали на моём месте, чтобы побыстрее придти к своим целям? Какие-то книжки, видеокурсы? По сути нужно сделать что-то типа Citable с чуть большим функционалом и гибкостью в настройках. Джаваскрипт изучать хочу — мне это интересно.
>>1773805 >>1773813 Уже работаю, собес прошел только один. Гоняли по жс, по ноде, по экспрессу, koa. Спрашивали как работает гит и нпм, решал задачку своего ранга на кодварсе и на листке просили написать любые две сортировки на выбор. Еще про отличия postgre от монги спрашивали.
>>1772070 (OP) Как дебагать React и любые приложения с фреймворками? Пришёл на галеру, где пишут на чём скажут. Посадили фулстеком пофиксить мелкий баг на фронте, но как это дебагать? Есть список, при определённом эвенте удалятся последний элемент - так быть не должно. Вещаю брейкпоинт на delete node и оказываюсь в фреймворке под ДЕСЯТЬЮ ТЫСЯЧЯМИ слоями абстракции в call stack'е. Вопрос: Как найти точку в моём коде, который начинает удаление?
>>1776806 Реакт компилится в ЖС, так что дебажится код собственно так же как и обычный ЖС код, ставишь debugger или console.log и вперед, отлавливать баги через девтулзы.
Если хочешь дебажить реактовскую структуру компонентов (посмотреть где какие пропсы например) - поставь React devTools, для дебага редакса используй Redux devTools, оно подключается за пару строчек. Там все интуитивно понятно и можно пошагово посмотреть как менялся стейт и что диспатчилось куда.
>>1776811 Если у вас свои настройки вебпака, убедись что настроены source-maps, иначе будешь видеть вместо кода реактовских компонентов простыню скомпилированного жс.
>>1776788 Оказывается Citable есть на гитхабе полностью: https://github.com/owenschoppe/Citable Что можете сказать насчет сложности написания кода? И за сколько можно научиться по времени понимать, что там написано и самому дополнять? Плотно занимаясь по 2 часа каждый день, например.
Расскажите, как в настоящих проектах принято работать с обсерваблами.
Вот есть у меня, допустим, object_id, который приходит из урла. Я делаю в классе полем обсерваблу на айдишник, или на сам объект, или и на то и то? И оставляю ли я ее как есть - кто не подписался я не виноват, или оборачиваю в РеплейСабжект, или руками копирую последнее значение в другое поле?
Пишу на реакте и ванильном, но бэк для меня - темный лес. Для домашних проектов хочется уметь написатьи задеплоить простенький АПИ с базой и авторизацией, но не знаю, с какой стороны к этому подойти.
С чего начать знакомство? Ну кроме доков ноды и экспресса.
Анон, есть такая вот задача. Нужно воспроизвести mp3 либо ts аудио в браузере, в котором ни того, ни другого по умолчанию нет. Не воспроизводит и всё. Есть ли для такого какие-нибудь js решения?
>>1777003 Ну например мне не совсем понятно вот что. Написал я апи например. Запросы там описал, вся хуйня. У меня локально оно работает за счет запущеной MongoDB Service.
И отдает данные соответственно откуда-то из этой монги.
А если я задеплою свои ЖС файлы с сервером куда-нибудь, как мне ее с базой подружить. Откуда данные будут идти? Такие вопросы, базовые. Хочу понять принцип действия всей этой системы.
>>1775828 Возьми Pixi.js Отлично подходит для 2д графики. Ну а по-поводу бд, как сказали раньше, сначала осиль браузерную часть, а потом уже и состояние сохраняй куда-то
Ребят вопрос. Есть компонент в реакте. Он добавляет поле опыт работы на страницу кандидата. В компоненте есть форма. И куча инпутов в ней. Так вот в компоненте есть функция onChange которая принимае ивент и меняет стейт (пустое поле ' ' на то что добавит пользователь.
И вставляется эта функция в инпут так: onChange={e => onChange(e)}
Так вот я пробую делать так: onChange={onChange}
и все равно форма сабмитится. Так какая разница между этими двумя вариантами то в итоге?
>>1776958 Бля вообще всё охуенно, смог разобраться уже сейчас. Дополнил то, что очень было нужно — помимо даты чтобы показывало текущие часы и минуты. Охуенно. Очень доволен собой. (на скрине сверху — то что было, а снизу — я сделал) >>1776788 Спасибо большое за ответ!
>>1777054 Я правильно понимаю, что если напишу свой простенький рест АПИ и задеплою на хероку, смогу откуда угодно дергать/добавлять данные через этот АПИ?
Сори если глупые вопросы, в бэке не понимаю, но хочу разобраться.
Если разместишь на https://mlab.com/, то сможешь её дергать откуда угодно. Хоть с локального хоста, хоть с задеплоенного на сервер. Самый простой вариант.
Либо же на самом хероку настроить, чтобы развернуть там свою mongoDB, тут сложнее если с хероку не работал раньше.
>>1777051 Бля вообще странно, но почему-то он часы и минуты рандомайзит как будто в каком-то диапазоне. Сверху вниз должно идти в порядке возрастания времени с отрывом не больше 5 секунд. Надо рыться в самом коде? Хотя я просто прописал getMinutes() и вроде как оно должно браться из angular-1.7.5 Рано я обрадовался
>>1776962 Если object_id может меняться - делаешь его observable, если не будет - можешь не делать. Если object надо только показать - можешь обернуть в replay Если object надо редактировать пользователем - сохраняешь object в стор (behaviorSubject) Можешь всегда сохранять в стор, так удобнее из-за того что не надо следить за подписками и http случайно не дернешь, и есть где loading и error хранить
>>1777158 На вопрос "что хранить в поле" ты так и не ответил. Допустим мне надо править объект и отправлять на сервер по нажатию кнопочки, тогда я могу: если в поле лежит объект - по нажатию тупо взять его если реплей - по нажатию подписаться на него локально, сразу получить последнее значение если просто обсервабла - по нажатию хуярить еще одну, а во время инициализации подписаться на их сумму
>>1777188 Делаешь поля object_id$ и objectStore, при изменении object_id$ говоришь стору fetchObject(id), при изменении стора полученные данные отправляешь в модель формы. При сабмите - берешь данные из модели формы. Это очень дохуя церемоний и вот почему: Стор здесь нужен чтобы хранить loading, error и оригинальные данные для (вдруг) ресета формы. Форму нужна чтобы ее правил пользователь (duh), в ней вся валидация.
>>1777222 Стор у меня и так в аполлу встроенный, о нем речи не идет, а записывать айдишник в форму - это то же самое, что в поле. Собственно это я и хотел узнать, не будут ли в меня тыкать пальцами, если я не скручу все операции в одну цепочку, а протеку в статику.
4GB телефон с процессором из 2017 потянет все ваши скрипты, вебшит, хуе-мое? Если в firefox открывать сайты с полосой drop-down менюшек и ходить там по ссылкам, то как это будет выглядеть на таких спецификациях?
Треда по ангуляру не нашёл, пишу сюда. Есть родительский элемент с двумя одинаковыми дочерними. Могу в один момент получить данные для одного, нл нужно получить данные для обоих элементов. Сложность упомянута в первом предложении, фреймворк - ангуляр и хочу узнать, как это сделать без ужасных костылей или хоть как-то. Добавить логику по добавлению этих данных в отдельные структуры или через $@%parent?
>>1777341 "Отдельные структуры" - т.е. сервис, который ты инжектишь в оба компонента - это и есть нормальный способ, а скакать по компонентам вне шаблонов - это костыли. Ну а если тебе похуй, то никто не мешает и из шаблона через @аутпут засунуть что угодно куда угодно.
Вечер в хату арестанты. Есть задача пикрелейтед. Есть решение мое https://repl.it/@CharonIV/PushySuperbApplescript#index.js . Решение не проходит, потому что не совпадает с какими-то ответами. В условии сказано, что подаются нормальные строки.
>>1777546 >>1777557 При этом недостаточно проверить символ на принадлежность к русскому алфавиту и нижнему регистру, потому что то на данные вида "ккXдд ооXшш" возвращаться будет 0, хотя верный ответ 1, потому что X в преобразовании не участвует.
>>1777566 На твоём скрине правила, которые должны выполняться для того чтобы дать ответ на вопрос "можно ли превратить одну строку во вторую, заменяя они буквы на другие". Ничего общего с входными данным твой скрин не имеет.
>>1777047 Второй вариант более предпочтителен ТК в него передается евент в качестве аргумента. Вообще можно ещё такой паттерн юзають var wrapper = (e, func) => {func(e)} И в элементе навешивешь уже onChange=(e)=>wrapper (e, handle Change) Таким образом у тебя функция не будет пересоздаваться при каждом рендере.
>>1777637 Они же не могут знать через какую пизду ты бабель будешь запускать, готовятся ко всему. Можешь попробовать через babel yoba.js --show-config или создай им issue
>>1777341 Создал сервис, заинжектил его в родителя, можно даже запровайдить там же, если он больше нигде не нужен. Потом получаешь данные с помощью сервиса от сервера и распихиваешь двум потомкам. Вроде элементарно. Или нет?
>>1776746 Скрипт для браузерной игры, расширяющий возможности игрока. В игре есть Элемент, который каждый раз разной длины и ширины (зависит от текущих событий игры). Добавил кнопку, при нажатии на которую открывается окно (div элемент) расширенных возможностей. Это окно находится под Элементом. Мне нужно чтобы ширина моего окна была такого же размера как и ширина Элемента, чтобы визуально выглядило нормально, а не криво. Ширина элемента есть, а вот как её присвоить для моего окна хз, потому что при указании параметра width через css класс (скрины в моём предыдущем посте) он считывает только когда указываешь вручную ширину в пикселях (которые я не знаю, пока страницу не обновлю), а не через переменную. Ну я затрахался ответ искать, присвоил просто через element.style.width = моя_переменная. Работает и ладно, хоть не очень опрятно.
Суть задачи: есть ts и есть таблица db с атрибутами вида key value, например: name: коробочка size: 20, 30, 40 weight: 70
и нужно отмапить эти данные в некоторые интерфейсы, например: interface { name: string; size: number[]; weight: number }. Есть ли просто способ приводить типы значений аттрибутов в соответсвии к типу полей в интерфейсе? Типа чтоб это все руками не делать, а пройтись по пропертям интерфейса взять их типы, потом строки значений из бд приводить к нужным типам или типа того.
>>1777819 Это как на хабре тест на 250 вопросов по js для проверки своих знаний, где в каждом втором задании юзается var. Сразу готовят для поддержки говнолегаси на жукверике вестимо
>>1777807 Абсолютно нормально и предельно быстро зато, гы. В css нет возможности растянуть элемент по размеру предыдущего без шаманства с контейнерами, насколько я помню. https://developer.mozilla.org/en-US/docs/Web/CSS/var работает, но не в данном случае.
>>1778007 Ну так это суть 90% "людей" из СНГ. Человек сам питается бомж-пакетами и живет N-й год в съемной хате потому что ипотеку не дают, но чтобы не ощущать свою уебищность пытается самоутвердиться на тех, кому повезло еще меньше чему ему. В Эвропах, даже не в какой-нибудь Германии а уже в Польше, такое раз в 7 реже встречается. Чисто СНГ-шная фишка
>>1777793 туда же --> >>1778192 Medium полистать и там в каждом 3м посте вылезает var. Триггериться на это и визжать "как вы посмели! я топ разраб из XXI века нахуй! новый сука Торвальд и Эйх!" примерно то же что триггериться на возможность вычитания числа из строки. Если уж пишешь на жс то прими это как данность, но помни что делать так - бэд прэктис
Как определить когда использовать классы бутстрапа, а когда свои. Что предпочтительней писать d-flex, или написать самому display: flex, тем более если у этого блока и так задается ширина в CSS? Касается и других микроклассов типа h-100 или m-0.
>>1778325 Ооп - про инкапсуляцию данных и методов для работы с ними. ФП про отделение данных и логики их обработки, достаточно посмотреть на то, как пишут на жс и понять, к чему он ближе. П.С. Давай, поясни мне ещё за ооп и за то, что перегрузка функций нужна там, где они не лежат в одной куче с данными, а являются главными структурными единицами программы.
>>1778406 1. Миддла чего?.. 2. Кому нахер надо использовать одновременно Go+TS+Java? Кому блин? 3. Сколкьо на данный момент на рынке пусть даже СНГ людей с подобным стеком? с продвинутыми знаниями и опытом коммерческой разработки офк, а не курсами от инфоцыган
>>1778412 >Кому нахер надо использовать одновременно Go+TS+Java ну кому я могу придумать какой нибудь лютый проект на микросервисах с дохуя народу, но стек огромен и он дохуя разный по парадигмам.
>>1778441 >но стек огромен и он дохуя разный по парадигмам Ты забыл еще туда Пистон и С++ закинуть. Ну шоб были. Тогда точно разный по парадигмам станет шо пиздец
>>1778412 Всё это можно освоить за года 2 мимокроча около программирования, не говоря уже о серьезном вкате Го - процедурщина, о которой каждый вкатывальщик слышал, но в которую каждый вкатывальщик не может. Язык ведет писуна за ручку, давая уже на 3-й день шлёпать полноценные микросервисы с околосишными перформансами. Жава - эталонное ооп и пара пропёрженных шаблонов, на которых крутится полмира последние nn лет. Порог вхождения также невысок Фп - совсем изи мод, осилится параллельно на стороне TS - жс без лишней ебли мозга. Я конечно могу сходу преобразовать +!(![] + "")-1, но на хуй мне это не нужно.
>>1778596 1) Не используй var, используй let или const; 2 )Названия переменных максимально ущербны, сначала я читаю: var lenghtWorkPiece = 3000; //длина рабочего фрагмента var lenghtPart = 650; //длина части var volumePart = 3021; //количество частей var cut = 4; //срез? доля? вырез? ???
А потом оказывается:, Первая переменная это количество материала. Вторая переменная это количество материала нужно для изготовления одной детали. Третья переменная это количество деталей которое нужно произвести. Четвертая переменная так и остается для меня загадкой, потому что везде ты её добавляешь к длине части. Получается это не срез/доля/вырез, а своего рода запас который вкладывается в деталь. Но тогда почему это число 4, а не процент от длины детали?
Так не должно быть, второе я должен вывести из названий переменных, а не прочитав ту часть кода в которой они используются.
3) Код не разбит на функции, не структурирован, это просто полотно каких-то действий, определить которые можно только полностью прочитав его и комментарии к нему. Функции как раз и сделаны для того чтобы код не только легко поддерживался, но и легко читался. И наличие функций это минимум, лучше всего поместить все акторы в отдельные объекты.
Если partsFromWorkPiece < volumePart возвращает false, значит partsFromWorkPiece >= vloumePart всегда вернёт true, зачем ты второй if добавил, какой логикой руководствовался?
>>1778604 >>1778604 >Но тогда почему это число 4 может быть любым ето величина реза смысл: длинна заготовки 3000мм, нужно по ней распределить детали с учетом определенной длинны, количества и величины среза (4мм) если количество деталей больше чем может вместить в себя заготовка берем еще одну и так пока не закончатся детали, if else обрабатывают случаи когда количество деталей и длинна разные, можно менить те значения в зависимости от условий будет запускаться та или иная часть кода, хуй знает писал как мог до функций еще не добрался, нужно читать
>>1778616 У тебя в else лишний if, если ты этого не понимаешь, то программирование это не твоё. Лучше попытайся освоить какой-нибудь инженерный калькулятор.
>>1778655 Ну смотри, у тебя вывод идёт консоль логами. Ты можешь внутри функции сделать то же самое, да и результатом функции может быть массив с несколькими значениями, которые потом можно так же консоль логнуть. Так что прям на каждую залупу отдельную функцию лепить не надо.
гайс, маякните плз, в каком месте я тупой https://pastebin.com/r2qsLmyb условие с циклом срабатывает хорошо, а вот первое условие при проверке на пустой массив выдает NaN вместо null Чувак который меня учит сказал, что я делю 0 на 0 но блядь, какой 0 на 0 я не понимаю
>>1778893 ну так и есть null приводится к 0 и ты на него делишь, неинициализированные переменные андефайнд приводятся к нан, любое действие с нан = нан
>>1778906 >>1778905 господа, спасибо заменил проверку на length но один хуй NaN почему при условии когда массив меньше 0 просто не возвращается null и все? А дальше идет деление на 0, такой поворот первый раз в других заданиях всегда работала такая проверка
Поцаны поясните по хардкору. Вот я такой умный ограничиваю свой код фигурными скобками дабы из консоли нельзя было ничего менять/вызывать. Все у меня было хорошо пока мой основной скрипт не разожрался до пиздецовых размеров и я не решил вытащить половину в отдельный скрипт. Ну и вы наверно уже поняли в чем засада. Скрипты друг у друга только глобалки видят и требуют снять защиту, чего я делать не хочу. Пиздец короче. Есть ли какой нибудь выход, или я соснул?
Сейчас писал функцию на тайпскрипте, зная, что она будет вызываться с двумя аргументами, а мне нужен только второй. Получал "is declared but its value is never read.ts(6133)". Догадался назвать первый аргумент "_" и все заработало. Уже нагуглил, что все аргументы, начинающиеся с "_" тайпскрипт не проверяет. Вопрос: почему об этом не сказано нигде в документации и как должен об этом догадаться нормальный человек? Я просто помню, что где-то в каком-то гайде советовали называть ненужные аргументы _, вот и попробовал.
>>1779000 >Есть ли какой нибудь выход, или я соснул? Есть. Использовать ES6 + Import, а не ограничивать код скобками. В главном файле ставишь listener на DOMContentLoaded, а внутри подгружаешь все необходимые модули. Всё.
>>1778655 >Получается на каждую переменную для ее вычисления нужно лепить функцию? Возвращать можно объекты, а не одиночные переменные. return { переменная1, переменная2, переменная3 };
>>1779138 Пока нихуя не понимаю, пишут функция останавливается когда встречает ретерн, но ретерн как я понял делает одно какое то действие? Еще пишут мол одна функция одно действие, хуй знает друг я в теме пару недель так что толком не понял тебя
Господа фуллстаки, поясните тупому макаке как вообще работает этот ваш бэкенд, блять, я имею в виду принцип работы, на пальцах. Я почитал туториалы, написал свой РЕСТапи, но все равно есть сложности с пониманием.
Вот смотрите, допустим, хочу написать простое приложение.
1. Есть список хуйни вида ID, name, value, где все значения - строки. 2. Есть простой фронт, который выводит на экран список имен и при клике на имя выводит страницу с имя-значение. 3. То есть при загрузке страницы делается запрос к АПИ по рауту /items, при клике на строку делается запрос /items/:id. 4. Я написал простенький апи с эндпоинтами на получение-добавление-удаление, круд короче. Локально это все работает на nodejs-express-mongodb. База естественно пустая, при первом запуске. Если нахуярить пост-запросов, выводится список.
Теперь вопросы.
1. Где крутиться база, когда я локально это все запускаю? 2. Как мне наполнить базу стартовыми значениями? 3. Как мне это все задеплоить на какой-нибудь бесплатный (или копеечный) хостинг, чтобы база сохранялась и можно было откуда угодно дергать этот АПИ за эндпоинты? За безопасность не боюсь, эта хуйня никому не нужна будет кроме меня.
>>1779145 >1. Где крутиться база, когда я локально это все запускаю? Локально >2. Как мне наполнить базу стартовыми значениями? Миграции >3. Как мне это все задеплоить на какой-нибудь бесплатный (или копеечный) хостинг, чтобы база сохранялась и можно было откуда угодно дергать этот АПИ за эндпоинты? За безопасность не боюсь, эта хуйня никому не нужна будет кроме меня. Гуглишь хостинги для node приложений, следуешь инструкции.
>>1779145 >Где крутиться база, когда я локально это все запускаю? В докере обычно всё это крутится. Если нужно перенести на продакшн-хостинг, то запускаешь скрипт, который делает дамп, коммитишь этот дамп в репозиторий, а при развертывании, этот дамп импортируется докером и готово.
Это в случае с MondoDB, я обычно DynamoDB использую, там ничего переносить не надо, это облачная DB.
>Как мне наполнить базу стартовыми значениями? В MondoDB-то? Ручками можно, это же простой JSON.
>Как мне это все задеплоить на какой-нибудь бесплатный (или копеечный) хостинг Копеечный не получится, если только делать статикой - Gatsby.js + AWS Amplify + DynamoDB. Вместо DynamoDB можно использовать Firebase / MongoDB Atlas. А вместо AWS Amplify можно использовать Netlify / Azure CDN / Vercel.
Бля написал функцию че теперь с ней делать, ебнуть return или создать внутри переменную лет и сделать в ней вычисления, тогда как использовать ее вне функции, или создать глобальную переменную записать в нее функцию и использовать дальше?
Вкатывальщик вещает. Написал пару примитивных приложений, типа лайтовой соцсети на стеке MERN. Хочу что посложнее написать. Типа интернет банкинга. Так вот вопрос, очень хуево шарю в дезигне и css. Где можно найти эти образцы, макеты чтоб сверстать в своем приложении?
Аноны, завтра иду на собес. Компания пишет на TS+Mobx+React и они в поиске мидла+. Я джун даже в React+Redux, сказал на прошлой неделе их хрюше об этом, а она говорит все равно приходи на тех собес, мы видели твой гитхаб(там туду и мувисерчер на рекате, и всякие тетрисы на чистом жс). Зп говорит 80-150к. Что делать блять. Не хочу обосраться. Я не откликался, а просто выложил резюме и они сами мне позвонили.
>>1779196 Не ссы, иди и собеседуйся. Ищут всегда миддлов и выше, берут тех, кто есть.
По ЗП реши для себя за какие деньги ты готов работать и стой на этом. Тебя могут попробовать продавить типа "Ой ну 80-150 это для миддлов у нас, а вы джун максимум, так что все что мы можем предложить это пятьдесят рублей на проезд и чупачупс".
>>1779202 Просто я не понимаю, чем я там буду полезен. Наш разговор с хрюшей это был просто шок.
звонит телефон, я беру
Хрюша: Здравствуйте, анон-нейм, я хрюша из компании-нейм, звоню вам по вашему резюме. Анон: Да, я видел ваше приглашение, но я не подхожу на эту вакансию по уровню. Хрюша: Не переживайте, Анон-нейм, наш тимлид видел ваш говногитхаб и говорит вы нам подходите, давайте я расскажу про нашу компанию. спустя минут 5 болтовни о компании, стеке Анон: Хорошо, я понял вас, а о какой зп идет речь? Хрюша: У нас разработчики вашего уровня получают от 80к и до 150к, зависит от задач. Анон: А испытательный срок есть? Хрюша: Да, два месяца и на нем зп 50к, вы готовы во вторник приехать в офис? Анон: Да. прощание
>>1779205 Ну, а что меня там спросят, я в ТС ноль, мобх не видел даже, единсвтенное реакт могу что-то рассказать. И как я за 2 месяца выучу это, я хз. Очкую пиздец.
>>1779209 С таким настроем ты никогда не устроишся. Нет момента когда ты всё знаешь и готов ходить по собесами, иди везде куда зовут. Настройся что просто пришёл поболтать с ребятами на техническую тему. Опыт проходить собеседования это тоже опыт.
>>1779145 > Где крутиться база, когда я локально это все запускаю?
У тебя на компе, в отдельном процессе. Вообще не советую ебать себе этим мозг, просто научись юзать для начала.
>Как мне наполнить базу стартовыми значениями? Установи себе например RoboMongo - сможешь руками туда записывать что хочешь
>Как мне это все задеплоить на какой-нибудь бесплатный Сюда можешь - https://www.heroku.com/ . Если совсем бесплатно правда твой сервер будет уходить в слип если не будут на него запросы приходить. Так что первые секунд 10-20 надо будет пожождать чтобы сервак завелся. Ну или заплатить, там копейки
>>1778274 > Меня лично больше удручает отсутствие перегрузки в функциях. Есть вариант использования HOF которая среди данных функций будет вызывать подходящую. Типа: hello = generic( typed(String)(str => "hello, " + str), typed(Array)(arr => "hello, " + arr.join('')))
Все эти ООП, дженерики, перегрузки это всё надстройки для удобства, и спокойно реализуются лямбдами.
>>1779274 В редаксе до жопы бойлерплейта. Есть конечно реакт-редакс но чтобы его нормально понимать надо по хорошему потыкать в обычный редакс сначала.
>>1779304 > А если разное количество параметров? typed - каррированная функция, и не просто так. Она работает с любым количеством параметров. plus = typed(Number,Number)((x,y) => x + y) > Или заходит одни, но объект вида > {ok: true} > {ok: false} Выкинет ошибку TypeError. Типизированные функции не принимают не типизированные параметры по определению.
Можешь так же использовать паттернметчинг для определения типа объекта по его полям. Однако насколько это производительно?
>>1779314 Слушай, можешь на стакблитз скинуть пример реализации из твоего первого поста?. Я просто не понял что это за typed. Идея мне нравится, но реализацию я пока не понимаю.
Вся работа жс сводится к событиям форм ввода кнопочкам и рюшечкам на странице? А все вычисления происходят на сервере при помощи пхп? мимо нихуя не понимаю
>>1779759 > Неужели нельзя по человечески как в нормальных языках, а? Как в нормальных языках это говно мамонта из 80х? Во всех языках есть замыкания. Иначе просто невозможно писать код.
>>1779209 Я год назад так же устроился на удалёнку на 70к когда был вкатышем. Открыл резюме на хх, мне звонили и писали. Сейчас уже сравниваю и понимаю, что пара звонков в неделю тогда мне казалось много, но на самом деле это хуйня. Сейчас если я открываю резюме то начинается дикий поток спама
function isEq(a, b){ if(a == b) return true; for(var i in a){ if(!isEq(a, b)) return false; } for(var i in b){ if(!isEq(a, b)) return false; } return true; }
Кто-нибудь может в двух словах пояснить, как собирается проект на Vue.js? Чем вообще редачат эти вот .vue файлы? Что делать с app.vue? Срочно надо, тестовое горит.
>>1779145 Мб поздно, но не еби себе мозг с локальной монгой, бери MongoDB Atlas. Топ штука для потыкаться, есть полностью бесплатный тариф, все сохраняется, ничего локально запускать не надо
>>1779801 >есть хирока но бесплатная засыпает, а так проверить работает ли в принципе хватит Heroku очень быстро перерастается. То есть ну окей, проверил я, а дальше что? А далее цены у них начинаются от $25/месяц за вшивую 512 МБ машинку. Таких охуевших цен нет вообще ни у кого, разве что у какого-нибудь WPEngine.
>>1779830 >AWS free tier год бесплатно Бля, а я что написал? Я написал конкретно про Amplify >>1779159 (потому что у AWS много сервисов, есть тот же Lightsail, тот же ECS, EC2).
>>1779923 > а дальше что а тебе технологию проверить и поиграть в песочнице или стартап пилить? что за вопросы блядь, если тебе нужен сервис для коммерции плати, просто потыкать стек технологий можно и так, ты определись и не еби нам мозги.
Пизданутый язык Нет методов для сортировки чисел и и даже чтобы заглавную букву зделоть. Нужно делать через slice(1) и капитализе одной буквы, какой же пиздец господи.
>>1780056 Я хочу во фронтенд. Раз уж ты крутой, подскажи как решить задачу где надо перебрать массив [a, b ,c] и вернуть новый массив в виде [a, ab, abc]? понятно что через цикл for, но их тут 10 штук разных я непонимаю какой использовать.
>>1779868 Спасибо, потыкал в атлас, подключел все работает, заебись. А если я хочу, чтобы мой самописный апи был доступен где угодно, мне нужно залить куда-то мой сервер, правильно? Он все равно будет подключен к базе?
Почему мне стоит использовать ORM а не драйвер бд напрямую? Есть какой то профит с ORM? Или даже зачем использовать конструкторы запросов? Это для тех кто не знает sql?
потому что в фронтенде помимо клепания сайтиков можно заниматься экспериментальными штуками по типу 3D, и делать искусство. Бекенд (по моему мнению) менее весёлый в этом плане потому что он взаимодействует с фронтом а не с конечным пользователем, и нет визуальной части, а только техническая.