>>228139922 Я не говорил что ЖС плохой язык, я не ОП. >>228140004 >Да нахуй тебе этот пиздасрипт Бля, ну интересно стало. Весь тред меня ещё так говном полил, но даже не намекнул на ответ, сразу чувствуется эта атмосфера программистов
>>228140218 Да я изучаю самые основы, html + css + js, чтобы вообще понимать как работают сайты. Как изучу, хочу писать ботов или парсеры для сайтов. Например, мне очень не хватает парсера для вк, который бы делал следующее. Есть группа в вк, куда много людей пишут на стену. Я хочу найти все посты в этой группе, автором которых бы являлся нужный мне пользователь. Поиск по id, имени или фамилии. В vkopt такого не завезли, я немного погуглил и не нашёл готового решения, вот и решил потихоньку учить.
>>228140573 >html + css + js Да оно тебе нахуй не нужно, пиши на C
>хочу писать ботов или парсеры для сайтов Ой да этим уже никто не занимается, пиши на С
>Например, мне очень не хватает парсера для вк, который бы делал следующее. Есть группа в вк, куда много людей пишут на стену. Я хочу найти все посты в этой группе, автором которых бы являлся нужный мне пользователь. Поиск по id, имени или фамилии. В vkopt такого не завезли, я немного погуглил и не нашёл готового решения, вот и решил потихоньку учить. Мне конечно стыдно за такого сталкера как ты, но наше С комьюнити не будет тебя осуждать!
>>228140574 Говнокодер, спок. каким образом она может вести вникуда, если по скрину очевидно, что там пустая строка/строка с одним пробелом? Если бы она была не инициализоравана то жс выкинул бы референсеррор
>>228140874 Завтра ищешь в интернете книжку Dive into python. Похуй если ничего не поймешь. Затем идешь на python.org и изучаешь стандартную библиотеку от корки до корки. Потом зубришь, именно, сука, вызубриваешь конвенцию по написанию питоньего кода - PEP8, чтобы от зубов отскакивало. Когда напишешь свою первую имиджборду, по пути изучив верстку на html+css, скачиваешь и изучаешь любой питоний асинхронный вебсервер, рекомендую Tornado или Gevent. Как переделаешь имиджборду, чтобы выдавала по крайней мере 5 тысяч запросов в секунду, можешь идти дальше - тебя ждет увлекательный мир хайлоада. Apache Hadoop, сверхбыстрые асинхронные key-value хранилища, MapReduce. Отсос хиккующих выблядков / просто неудачников типа рейфага или сисярп/джава-хуесосов, которые сосут хуй по жизни не заставит себя ждать и уже через пол года ты будешь получать такие суммы, что любая баба будет течь при одном упоминании твоей зарплаты.
>>228141167 >Как вам мой код? 1. Название массивов result и results2 лучше сменить на что-то более понятное 2. for (let i = 1.... Нумерация массива начинается 0. Лучше используй конструкцию for of для итерации по объектам. 3. typeof .. !== 'undefined' Эта строка не нужна, если нормально итерироваться по массиву, без выходов за границы. В сотальном вроде норм. И не используй jquery, устаревшая хуйня. Используй стандартные геттеры
>>228141378 >2. for (let i = 1.... Нумерация массива начинается 0. Лучше используй конструкцию for of для итерации по объектам. Ключ массива у меня означает номер выбранного товара, а у меня в базе ID начинается с единицы >3. typeof .. !== 'undefined' Эта строка не нужна, если нормально итерироваться по массиву, без выходов за границы. У меня в массиве могут быть пропуски, то есть ключи могут быть 10, 50, 55, 56, 89
А жикверя просто удобная для быстрых эффектов типа красивого исчезновения. Я ведь даже не джун, просто учусь пока
>>228141666 Олсо, для таких объектов лучше использовать не массив, а объекты, Map и WeakMap, которые как раз для этого и созданы, за счет чего позволяют найти значение по ключу за log(n), где n - количество ключей
>>228141666 >>228142333 Я просто где-то треть учебника осенью прошлой прочитал, щас уже забыл все. Помню только какие-то базовые вещи. Помню только что вроде эти weakmap применяют для хранения сообщений в чате
>>228142438 Map и объекты используются для сохрания значений по обычному ключу, например по строке/числу. В WeakMap в качестве ключей используется объект, в который можно запихнуть, например, время сообщения id юзера и т.д.
>>228142631 А вот код добавления товара в корзину, как тебе?
let pid = jQuery("#toCart").data('product'); let sid = jQuery("#toCart").data('subproduct'); let psid = pid+'_'+sid; let count = jQuery("#count_items").val(); let found = false;
let tovars=Cookies.get("tovars"); let mass={}; let datas="";
>>228140198 >name на втором пике это название переменной И к ней надо обращаться либо через точку, либо через кавычки, как на первом и третьем пике. Разницы не будет? >>228140384 >name внутри словаря это название, name вне словаря - NullPointer т.к. не объявлена переменная Я не знаю что такое словарь (это object?) и что такое такое NullPointer. Но переменная name же объявлена в 10 строчке. В общем, я думаю что ты мне вполне понятно объяснил, но я слишком мало учил чтобы тебя понять. >>228141960 >Пушто ты в функцию хуй пойми что вместо строки подаешь Я создаю object с названием user, и внутри него у меня есть name, который изначально Misha. Потом я разными способами пытаюсь его изменить на Dima и смотрю в консоли, как выглядит object после моих попыток. И во втором случае у него name остался Misha, но появилось какое-то пустое propertie со значением Dima. Я хочу понять почему так.
>>228140874 Пакет для писона vk_api - все, что тебе нужно. Гугли документацию, на гитхабе лежат примеры. В твоём случае нужно будет использовать, наверное, один метод API - Wall.get(). Фильтруешь по ID отправителя и профит. Однако, если хочешь, чтоб было красиво, а не голый жисон, то лучше написать парсер. Хуяришь requests в том же писоне, session.get("сцылка до стены сообщества", кваргс). Про навигацию по хтмл можешь почитать. Потом можешь вырезать div с нужными постами, склеивать их в одну страницу и смотреть. Но и про стили не забудь, а то немногим лучше жисона будет.
>>228143136 А здесь ключи у объектов (Fido, Hunter, Snoopie) просто переменные, а не строки. Или ты имеешь в виду что в дальнейшем обращаться к этим переменным надо заключая их в кавычки (var myDog = "Hunter" а не Hunter)?
>>228139621 Потому что в случаях user["name"] и user.name что одно и то же - он обращается к объекту user, и перезатирает значения с ключом "name".
В случае user[name] - name используется как переменная. Он пытается найти значение этой переменной. Так как ты её у себя не определил - он ищет дальше в объекте родителе, и, внимание, находит. У глобального объекта Window есть свойство name, равное пустой строке. Поэтому он на тебя не ругается, и, поэтому он читает user[name] как user[""]. Если бы он не нашёл это свойство у родительского объекта - он бы тебя нахуй послал и не запустил бы ничего (попробуй написать user[huypizda] - получишь ошибку что "huypizda не определено")
Представь себе это как многоэтажное здание (в данном случае двухэтажное). Твой говнокод - первый этаж. Ты говоришь программе: "найди значение переменной name", и js сначала ищет по первому этажу (та часть, что ты написал), ничего не находит, поднимается на область видимости выше, и продолжает искать там. В данном случае он находит свойство name на самом верхнем этаже, и радостный прибегает к тебе, говоря что нашёл name, который равен пустой строке. Если бы он не нашёл искомое и на самом последнем этаже (как в случае с huypizda) - он бы сказал: "ты что, долбоёб? Я вообще везде посмотрел, и нихуя не нашёл. Иди в жопу, я не буду запускать эту говнище".
Почитай про области видимости - лучше поймёшь что происходит у тебя в коде
>>228139621 >1 в поле "name" объекта "user" записать "Dima" >2 в поле со значением из переменной name записать "Dima" переменная name не объявлена, криво объявлена или объявлена где-то выше как var name = ""; поэтому к объекту записалось под полем без значения ("") >3 тоже самое что и >1, альтернативный доступ к полю объекта
>>228143172 >let psid = pid+'_'+sid; Используй шаблонизированные строки >let tovars=Cookies.get("tovars"); НАзвания переменных стоит писать на английском, если не могешь то так бы и написал "товары" >if(tovars==undefined || tovars=="") можешь просто написать if(tovars) >if(found==false) почему не if (!found)? А так очень не плохо, можешь уже забивать на жс и переходить к верстке и устраиваться джуном
>>228143652 >он ищет дальше в объекте родителе, и, внимание, находит. У глобального объекта Window есть свойство name, равное пустой строке. Поэтому он на тебя не ругается, и, поэтому он читает user[name] как user[""].
Теперь я понял. Да, я просто неудачно выбрал имя переменной. Спасибо большое
>>228143312 >Разницы не будет? Нет не будет. Точка используется для более удобного синтаксиса, но если в ключе есть пробелы то придется использовать оператор[] >Я не знаю что такое словарь (это object?) Насколько я знаю, словарь это питоновский аналог объекта и хэш-таблицы aka Map
>>228144150 И да, забыл сказать. Вот наш объект >var user = { > "name": "Misha" >} Если у объекта уже есть искомый ключ (в данном случае "name") - данная команда перезатрёт значение по этому ключу >user["name"]= "Dima" и теперь объект будет выглядеть так: >var user = { > "name": "Dima" >}
Вернёмся к изначальному объекту, и рассмотрим второй вариант >var user = { > "name": "Misha" >} Если программа не сможет найти нужный ключ у объекта (как в случае с пустой строкой) - она этот ключ в объект добавит. Т.е. после выполнения следующей команды >user[""]= "Dima" Наш объект будет выглядеть уже так >var user = { > "name": "Misha", > "": "Dima" >}
Почитай серию книг "вы не знаете js". Там автор очень доступно объясняет что происходит в программе, и рассказывает про всякие приколюхи джаваскрипта (вроде минус нуля), и откуда они берутся. Очень полезные книжки, и, если будешь читать их по порядку - они идут от простого к сложному
>>228139621 >А я не понимаю разницу между someObject[prop] и someObject["prop"] Ну, получается ты не учил язык программирования JavaScript. В чем твое негодование не пойму?
>>228143172 >tovars >datas >хранить данные в cookies вместо localstorage >if(tovars==undefined || tovars=="") вместо if(tovars) >какие-то found=false >не использует `template strings` >использует JSON.parse() не там, где обращается к кукам, а где-то где обрабатывает инфу > 8 переменных которые смотрят в окологлобальный скоуп
Я бы тебя палкой полгода бил за такой код, пока ты учишься писать чистые функции
>>228144815 >if(tovars==undefined || tovars=="") вместо if(tovars) А вот иди-ка ты нахуй. Если хочет сравнивать нулевое значение каждого типа то это его дело, ни разу не криминал. Разве что за нестрогое равенство нужно шершавым ему по губам провести.
>>228145075 >А вот иди-ка ты нахуй. Если хочет сравнивать нулевое значение каждого типа то это его дело, ни разу не криминал. Так лучше не делать, иначе будет !== undefined || !== null || !== "", что намного длинее и хуй поймешь че он там проверяет. В любом случае, для джуна пойдет, один хуй его никто не посадит писать важные вещи вроде авторизации если он устроится джуном
>>228143584 Ну просто вроде необходимости в этом не было. >У тебя есть сервер с рендером? Ебаш в localstorage Не знаю что это, но сейчас прочту.
>>228144084 >А так очень не плохо, можешь уже забивать на жс и переходить к верстке и устраиваться джуном Спасибо за комплимент, но я очень сомневаюсь, что годен для джуна. Я реакта не знаю. Учебник жс осилил только на треть, да и то забыл уже процентов 70 того, что знал. Верстаю пока на бутстрапе, но слышал что реальные пацаны верстают на флексах. Я в своей верстке немного использую флексы, но пока без глубокого понимания.
>>228144815 Так я как раз учусь. Прошлой осенью начал было учиться, месяца два изучал, но потом случилась реальная беда, и про код пришлось забыть. Щас вот снова начал, пока практикуюсь писать корзину для товаров.
>>228145262 >Я реакта не знаю. Ну так я и говорю, переходи к верстке, начинай пилить макеты, посмотри курсы по дизайну. С реакта лучше не начинай, лучше с Vue т.к. он значительно легче и потом спокойно сможешь перекатится на реакт
>>228145075 Нет, это ты иди нахуй. Каждый лишний символ, особенно внутри `if()`, должен быть выверен и написан внятно и понятно
Потому что этот кусок кода потом будет читать и анализировать другой человек.
Написав хуйню один раз внутри этого if(), ты напрягаешь мозги всем последующим людям, которые будут его читать.
Все эти перечисления через || — от лукавого Тут понятно, что он пытается проверить `falsy` значение переменной Для этого стоит и нужно использовать `if(tovars)`. К тому же одно `falsy` значение он уже проебал — `null`
>>228145262 Меньше хейть язык, если нихуя его не знаешь. Сразу в себе детектишь лютого нуба. Такое могут себе позволить только дядьки которые годами на нескольких ЯП пишут, и могут сравнивать.
>>228145547 >ждать выхода 3.0 Так он уже вышел почти, релиз кандидат на гитхабе. Пока он откроет документацию и начнет её читать там уже выйдет 3 версия
>>228145227 Я смотрел всякую фигню на ютубе, и там не рассказывают и половины того что описано в книге. Я не советую читать всякую дрисню типа "жаваскрипт для чайников". Это нахуй не нужно, и там информация именно та же, что и на видосиках. Я советую именно эту серию книг, потому что, на ютубе рассказывают как писать программы, не рассказывая как оно, на самом деле, работает. И люди просто, как макаки, начинают всё повторять, не задумываясь. А тут рассказан именно механизм работы жаваскрипта, и ты начинаешь понимать как всё устроено. Алсо, не такие уж и старые эти книжки
>>228145607 Он уже "почти вышел" полгода как, Эван Ю обещал выход Vue 3.0 еще в 2020 Q2. Основная проблема Vue.js — approve на любое изменение кода жмет только один человек — сам Эван. То есть без его одобрения ни один человек не может что-то поменять внутри этой библиотеки.
Поэтому лучше все-таки учить реакт, хоть и вкатываться сложнее
>>228145411 Ну я пока один дизайн сверстал по макету, там правда не особо сложный был. При смене разрешения все плыло к хуям, приходилось правила дописывать. Потом обнаружил, что в разных браузерах может отображаться по разному. Особенная попаболь с хрома и яндекса, которые могут даже жс код по-своему обрабатывать.
>>228145547 Реакт или вью всё-таки? Ещё думаю немного ларавел подучить.
>>228145411 >С реакта лучше не начинай, лучше с Vue т.к. он значительно легче и потом спокойно сможешь перекатится на реакт Нахуй надо? Учить один фреймворк, чтобы потом перекатиться на другой. Пусть сразу с реакта и начинает, не такой он уж и сложный. Да и, ко всему прочему, с реакта он сможет безболезненно перекатиться в реакт нэтив, и делать не только сайтики, но и мобильные приложения
>>228146078 >Учить один фреймворк, чтобы потом перекатиться на другой. ТЫ серьезно думаешь что он прям его задрочит до небес? Он скорее всего создаст пару страниц на нем, потом пойдет посмотреть че такое реакт и ангуляр, там и останется скорее всего. >реакт нэтив >мобильные приложения Лучше не надо, и так в смартфонах с 12 гб оперативы все закрывается к хуям после пяти минут в фоне
>>228146293 >мобильные приложения >Лучше не надо Я не говорю что это охуеть какой крутой вариант. Я просто говорю что такой вариант есть. Со временем его заебёт писать на реакт нэтиве, и он пойдёт в нативщину, писать человеческие мобилки
>>228147114 ООП джавоподобный это всего лишь частный случай ФП, только с опциональной мутабельностью. ООП смолтолковский да - действительно отдельная и самодостаточная парадигма.
>>228147297 Нахуй тебе пыха нужна? Забей на неё, прям вот совсем. Это мёртвая хуйня, которую только старпёры, неспособные изучить что-то новое, насилуют. Тебе надо изучить чистый js (хотя бы основы, чтобы смог писать хоть что-то), и научиться работать с html+css. Дальше разбираешься, к примеру, с реактом лично я именно его посоветовал бы, делаешь на нём todolist, закрепляя знания, и можешь смело идти на собес какого-нибудь джуна, где тебя завалят на техническом собеседовании, но возьмут
>>228147774 >делаешь на нём todolist, закрепляя знания, и можешь смело идти на собес какого-нибудь джуна, где тебя завалят на техническом собеседовании, но возьмут Звучит влажно. Неужели за ссаный тудулист на реакте берут на работу?? Меня не взяли на работу даже там, где опыт не нужен.
>>228147871 На должность какого-нибудь подджуна с мизерной зарплатой могут и взять. Только идти надо, естественно, ни в какой-нибудь стартап, где нужен опыт и умение самостоятельно работать, а в крупную компанию, где этих джунов до жопы. Они их набирают, выращивают, и почти не повышают зарплату, потому что им так дешевле. То есть его научат работать, а как освоится - сможет место работы сменить
>>228148252 Это понятно что вся концентрация происходит именно в ДСах, но некоторые компании любят открывать филиалы в городах-миллионниках, потому что люди там работают также, а зарплату им платят меньше. А в айти вообще поебать откуда человек работает. И понятно что даже не во всех городах-миллионниках оно может быть, но надо поискать. Посмотри, может какой интегратор открыл у вас филиал. В интеграторах работы много, зарплаты ниже рынка, но там точно научат, а опу именно опыт сейчас и нужен будет
>>228148625 Спасибо за моральную поддержку. В какое время года лучше вкатываться? Я пока буду учить жс, верстку и реакт. Ну и подрабатывать, жить на что-то нужно.
>>228148737 >В какое время года лучше вкатываться? Честно - хз. Сейчас из-за карантина ещё ничего не понятно, но мне в начале-середине лета эйчары активно написывали (хотя, думаю, это связанно именно с тем что начали меры послаблять). По идее это фигня должна быть как-то связана с финансовыми кварталами, но это уже не ко мне. В любом случае "в какой месяц идти на собес" - вопрос не столь важный. Понравишься - возьмут в любой месяц, не понравишься - пойдёшь в другое место пробоваться. И да, не жди что тебя возьмут в первую же компанию. Тебя там обязательно завалят на техническом собеседовании, так что не расстраивайся, а как вернёшься домой - обязательно проштрудируй все вопросы, что тебе задавали. Они нередко повторяются от компании к компании >>228148793 Обычный список дел с возможностью добавлять/удалять/редактировать записи, и помечать дела как сделанные.
>>228149885 Если есть знания и видно желание учиться и говнокодить - почему бы и нет. Например, мне 25, и я самый младший (в плане возраста) из разрабов
>>228149488 >Обычный список дел с возможностью добавлять/удалять/редактировать записи Я думал, чтобы пройти собеседование на джуна, нужно уметь писать хотя бы интернет-магазин, который бы генерировал заявку покупателя куда-то в базу данных
>>228150719 Ну смотря как реализовать. Я такие интернет каталоги писал, но код максимум всратый, никакого ООП, всюду ошметки jquery, всякие там плагины для слайдеров и проч. Верстка на бутстрапе, бэк на php, там по-колхозному выдергиваю данные из БД. Сомневаюсь, что за такой код место джуна дадут