Очевидно, что после инициализации счетчика сначала идет проверка условия, а только потом выполняется тело цикла. Иначе это было бы не while (синтаксическим сахаром которого является for), а do-while.
@@chelbaev нет не так, неважно как ты напишешь инкремент постфиксно или префиксно, он будет выполняться после блока кода. Если не веришь можешь это вбить в компилятор for (int i = 0 ; i < 3; ++i) { std::cout
До недавнего времени, 3-4 видоса назад, понимал в твоей быстрой речи лишь некоторые её части знакомые мне по опыту. Сейчас прокачал свою нейронку до стабильного понимания смысла всего сказанного. Способ оценить свой уровень, благодарю.
Спасибо, очень интересно и с минимумом воды(бэ, ээээ, ааа,, мммм), очень классный канал ! Сделайте многочасовое видео по C++(full version) с вашей подачей.
И можно еще язык C - для микроконтроллеров)) Лучший канал для меня на сегодня, есть полезная информация, практика, карта необходимых знаний И МОТИВАЦИЯ ВСЁ ЭТО ИЗУЧИТЬ!!)
Автор, спасибо что ускорил видео на монтаже, очень приятно. В нынешних реалиях твои (средние по миру) 13, как огромные 28 у других. Главное не длина, главное наполнение, спасибо короче
Меньше минуты просмотрел. В цикле for сначала идет инициализация, потом проверка, потом тело, потом инкремент (для данного случая). Кружочки расставлены неверно =(
Отличный рассказ про то, зачем вообще нужна теоретическая база, но есть несколько незначительных нюансов, к которым я всё-таки прикопаюсь (хотя критического ущерба подаче информации они не несут) 1. Деревья и теория графов. Не совсем корректно относить деревья как структуры данных к теории графов, как мне кажется, потому что теория графов рассматривает деревья с несколько иной стороны, нежели их использование для структурирования данных. 2. Unordered_set и unordered_map в C++ реализованы с использованием хеш-таблиц с открытой индексацией и никаких деревьев не используют (там только массив и односвязный список под капотом). Красно-черное дерево используется, но только в set и map
Хай. Датасаентист тут ) Если коротко - по моему опыту, они в сфере DS нужны обязательно. С алгоритмами плотно познакомился когда готовился к собезу в яндекс, там это спрашивают неплохо так. Так вот, пока ты фит/предиктишь модельки из коробки где нибудь на каггле может алгоритмы и их оптимизации не нужны но в реальных задачах... простой пример, есть датафрейм с координатами и нужны расстояния между всеми ними. Первое что может прийти на ум это 2 цикла, один в другом - сложность алготитма O(n²) что может сработать на небольшом количестве точке, но, если их много - то это пипец ) И такого рода задач много, не только с географией. Особенно в сфере дс, т.к. мы часто работаем с большими данными. П.С. я сразу начинал с кодварс и литкода и когда натыкался на задачу у которой в требовании указана необходимая сложность алгоритма, шел гуглить ) Возможно кому то будет проще изучать их именно так.
Но по сути в for сначала происходит инициализация, потом проверка условия, далее тело цикла и только потом инкремент(ну либо другое прописанное действие). Так как for является неким синтаксическим сахаром, любой for можно переписать с помощью while. Например for из видео: i = 0 while(i
Да кому это интересно, главное рекламную интеграцию вставить, потом рассказывать 13 минут очевидные вещи(можно было потратить 5, даже не читая скороговорки), а то что там неправильно объяснено базовую вещь, что точно введёт кого-то в заблуждение.... да какая разница, схавают. Очередной додик который делает бабки на тонне людей, что услышали про золотые горы у программистов
Wow, this was such an informative video! As someone who's just starting out with programming, it was really helpful to learn about the 80/20 rule and how it applies to coding. I appreciate the examples and explanations provided, and I definitely feel more confident in my ability to prioritize my learning. Thank you for sharing this!
Почему оператор сравнения в for выполняется после тела? Это же бред, тогда бы какое бы мы условие не поставили, у нас бы хотя бы один раз прокрутилась итерация, как в цикле do while, но это так не происходит
Получается, "коммент бэйт". Я надеялся будет больше комментов конечно, ну посмотрим. Просто уже приелось "клянчить" лойков и комментов, а байты вот такие я думаю найс концепция. Они добрые.
Ты забыл упомянуть, что на стажировку Яндекса попасть достаточно сложно. Первый этап: дается 6 задач и 6 часов. На паузу не поставить, задачи сложные. Я пытадся попасть на машинное обучение, были задачи: на теорвер, на структуры данных, и в конце еще надо было написать нейронную сеть, которая распознает речь из аудиофайлов
Да, да. Аналогичная история только с направлением Back-end. 3 задачи, 4 часа. Задачи кажутся на первый взгляд нормальными, но некий «тест #9999» (утрирую) падает с ошибкой по времени выполнения. По итогу решил 2 задачи и потратил кучу времени на их безуспешную отладку. Грустно, очень хотел попасть в стажировку к Яндексу :( О себе: 4 года работаю программистом, не смог попасть на стажировку для студентов в Я - тильт
@@mon-x9ff , да потому что они помешаны на алгосах. Ты должен был работать 4 года не прогером, а олимпиадную прогу дрючить, тогда для Яндекса ты хорош.
@@QWERTY-xy9dn да никто там не помешан. просто копируют задачи у гугла. порешай литкод пару месяцев и вот ты уже синьер-помидор в яндексе. я отказал яндексу потоу что 250к рублей это просто смешно а не зп.
@@andvets6946 , мощно) В принципе я понимаю, что надо просто перетерпеть это все. Вероятно, в будущем займусь этим конкретно. А поработать в Яндексе - это большой плюс для резюме. Просто за упоминании этой компании ты будешь выделяться при найме, мне так кажется.
Подача не главное, главное то, что он говорит. "Математика связана с программирование косвенно". Он про дискретную математику хоть слышал? Алгоритмы и теорию графов он предлагает учить, а про то, что без дискретной математики вы ничего не поймете ни в алгоритмах, ни в теории графов он умалчивает.
Как только услышал про практику в яндексе, тут же перешел туда и подал заявление. Хз почему но все рекламы этого действа проходили мимо меня, вообщем спс за сведения
я когда работал по другой профессии делил всех коллег по такой классификации. 1. Заумный незнайка. Он выучил все что можно, может сдать любой тест, но самостоятельно не умеет работать. Обычно такие в итоге становятся проверяющими и ревизорами. Они знают как надо, но не могут сделать сами. 2. Заумный и умный. Эти знают все обо всем и реально могут это применить. Таких в своей профессии я встречал 2 раза. Среди тысяч сотрудников. 3. Середнячек трудолюбивый. Он незнает прям всего, но имеет профильное образование и может сделать все нужные шаги в рамках его работы. 4. Середнячек ленивый. Он тоже не все знает, но выезжает за счет других либо на удачу. Профильное образование тут тоже есть. 5. Работник с улицы, легкообучаемый. Проф образования нет, но он смог все что нужно выучить быстро и качество. Основ незнает и его это не парит. 6. Работник с улицы тупой. Головная боль любого коллектива и руководителя. Тупой, необучаемый, но и заменить не кем. 7. Опыт не пропьешь. Основная категория. Люди которые пришли с разными начальными знаниями, но в процессе долгой работы и делания даже очень сложный задач, все выучили и теперь им кажется, что все очень просто. П.С Читаю комменты и прям вижу как комментаторы распределяются по этому списку. Тут есть один тролль. Бьюсь об заклад, что это либо заумный незнайка либо середнячек ленивый. Именно они любят всех поправлять и считают себя самыми умными.
Подача🔥, отлично держишь контакт и фокус зрителя! С for и идеей про него отлично получилось😂 ‼️Продолжай, ты красавчик! И ты это знаешь) P. S. За птичку жди звонка от Кэмэрона, она восхитительна, еб@@@я не зря!
Настолько качественный интересный контент. Каждый раз поражаюсь твоему росту, отличному подходу. Создаётся желание реализоваться в жизни, чтобы потом пиарить тебя(ахахахаха). Я как раз прохожу испытательный срок в крутой компании. В том же духе, , брат есть жи
01:19 - if (!(number & 0x01)) print("true "); Для самых маленьких: если младший бит числа равен единице, то это не чётное число, а значит это условие проверяет числа на не чётность. Но инвертировав результат "логического и" оператором "восклицательный знак" мы превратим истину в ложь, и будем проверять уже чётность числа.
Программирование действительно интересно когда делаешь проекты для себя а не то что просят на работе. Да и вообще дедлайны и чужие проекты кошмар который не хочется никогда в жизни видеть. Это очень интересное хобби, но наверное самая нудная работа в мире.
Огромное спасибо за твой труд и подход к подаче материала! Просьба, по крайней мере это бы очень помогло, если бы ты прикреплял ссылки на видосы которые ты упоминаешь в качестве рекомендованных.
Ты рассказал первые 2-3 курса забугрового универа для информатика. Однако все очень зависит от направления работы! В реальности есть сеньеры работающие по 10-15 лет уже и все это забыли после выпуска из университета.
лучший способ в общих чертах разобраться с любой структурой данных это попробовать написать ее реализацию. в ходе этого как раз и алгоритмическую базу подтянешь делая к этим структурам методы сортировки и поиска
Работаю в айти уже очень долго, приходится писать код, особенно последние годы только этим и занимаюсь. Я ненавижу математику, все эти "интригалы" но люблю писать код и моя работа связана с этим. Так вот за многие годы я только один раз столкнулся в программировании с математикой. Дело было в компьютерной игре Space Engineers, там внутри игры есть компьютеры на которые можно загружать код на C# и автоматизировать игровые процессы. Так вот когда я попытался сделать скрипты для просчета полета объектов, скорости, гравитация, массы, вектора, углы, всякие там дельты, вот там я столкнулся с вычислениями из математики. Ну и да, что-то почитал из теории, примерно что-то получилось. Но в жизни я слава богу не занимаюсь программированием автоматически пилотируемых объектов. Так что не сильно расстроился.
Это невероятно, но факт. (Возможно, очень локальный факт, имеющий место только в моём окружении.) Большинство знакомых мне программистов не понимают, чем конкретно они занимаются на работе. В том смысле, что они не могут правильно ответить на вопрос о том, что такое программирование... т.е. в чём именно состоит работа по написанию программ. Она состоит в том, что данную свыше проблему/задачу нужно разбить на последовательность подзадач, которые уже имеют решение... либо в виде примитивов языка, либо в виде написанных кем-то библиотек. И эти уже решённые кем-то подзадачи нужно просто соединить таким образом, чтобы получилось решение твоей задачи. Проще говоря, нужно составить алгоритм из таких базовых шагов, которые есть в некоторой вычислительной среде, которая часто тоже дана свыше. С учётом этого довольно очевидно, что основной навык программиста - это умение составлять алгоритмы из базовых блоков (языка, фреймфорка, библиотеки). Нетрудно догадаться, что прокачать этот навык проще всего путём разбора чужих алгоритмов.
std::unordered_map является hash_table, которую можно сопоставить (очень грубо, но всё же) std::vector, где value_type = std::pair. Так что std::unordered_map не является имплементацией red-black tree. Скорее всего это оговорка, ведь std::map и std::set являются имплементациями red-black tree
Если речь идет о чем-то более сложном, чем работа с WordPress, то без понимания алгоритмов не обойтись. Новички, возможно, считают, что опыт в разработке программного обеспечения связан больше с знанием синтаксиса, отладки и тестирования, чем с алгоритмами и структурами данных. Однако, на практике, для того чтобы точно определить требования к программному продукту и реализовать нужное поведение, необходимо выбрать оптимальный подход к разработке, который может быть связан с выбором соответствующего алгоритма.
Для того, чтобы определить требования к продукту, нужно общаться с бизнесом и скать компромисс по времени, потенциальному техдолгу, возможностям инфраструктуры и требованиям безопасности. Ну и иметь богатый опыт работы как раз для того, чтобы ставить какие-то эстимейты под фичи.
@@MungorTV а вот не его(бизнеса) собачье дело, сколько времени я выкатываю фичи. Скоро как раз брошу работу из-за подобных споров. Я тут творец и художник, а дело бизнеса не лезть ко мне.
Я на 9:38. Возможно я не сильно знаю но вроде простой std::map реализован с помощью красно-черных деревьев, а std:: unordered_map с помощью векторов, листов(как к примеру chaining table), прошу поправить если я не прав
Посмотрел я на это всё, и, в целом, нового ничего не узнал. Миша, 20 лет, учусь в политехе в Нижнем Новгороде. А теперь, для чуваков, которые тоже из нижнего, и думают о поступлении на прогера: Направление 09.03.01 "Информатика и вычислительная техника" 1 курс: дискретные структура + теоретические основы алгоритмизации + вышмат. 2 курс: алгоритмы и структуры данных + прикладная теория информации + вычислительная математика + теория вероятностей. За 2 курса дают всю ту базу, о которой виндертон говорил в этом видео. А сопровождается это основами машинного обучения и аналитики данных на python, паттернами программирования на Java и основами программирования на C++. (C++ 1-3 семестры, Java+Python - 4 семестр). И даже если вы вообще не шарите в программировании, всему вас тут научат, всё, что от вас требуется - знать, что такое переменная. Я серьёзно, в нижегородском политехе в этом плане всё просто супер. Так что, как говорится: "Поступай правильно - поступай в политех!" P.s. сам работаю в бэке на php, нелёгкая занесла ...
Кто нибудь может посоветовать книгу по программной архитектуре. Я смотрел несколько, но там самые основы по типу "вот есть микросервисы а вот монолит" и невозможно опираясь на них создать хорошую архитектуру. А хочется по кокретней чтобы рассказали как лучше построить взаимодействие между объектами, и как построить какие-то системы.
Я вот сейчас заканчиваю читать книгу "Чистая архитектура" Роберта Мартина. Он же Дядюшка Боб. Доступно и местами с юмором. Я ее прям конспектировал, чтобы лучше понять.
@@Kalin_cheetah Чистая архитектура - это про архитектуру кодовой базы, а не архитектуру бекенд-приложений, которая сейчас на микросервисах вся. Что по книгам, то "Высоконагруженные приложения. Программирование, масштабирование, поддержка". Для проектов без хайлоада в микростартапах подойдет архитектурный паттерн "Работает и норм".
Ни одного примера не приведено, где это в реальности было нужно и почему нельзя было использовать уже миллион раз реализованные библиотеки для всех этих стандартных алгоритмов. Если тимлид увидит, как ты сортировку свою пишешь на языке, в который она буквально встроена, - он тебе руки просто отобьёт. А сложность выполнения алгоритма тебе ChatGPT может посчитать и даже предложить оптимизацию. Буквально: если ты будешь тратить 20 минут на продумывание алгоритма, пока твой коллега тратит 2 минуты на запрос его в ChatGPT и идёт дальше писать бизнес-логику, то угадай кто из вас быстрее станет синьором... Не ты.
Все это (не прям все, но как минимум алгоритмы и структуры данных) нужно не для перехода от джуна к мидлу, а вообще, чтобы попасть хоть в какую нибудь айти компанию. То есть понятно, если ты уже работаешь где-то, то там от тебя требуется только скорость твоей работы и твоего кода. Но если ты хочешь "войти в айти", то на собесах от тебя будут требовать именно базу и теорию)
Тоже не увидел ничего нужного и полезного в видео, что все так хвалят... я новичек, но информация здесь такая, что просто сбивает людей:)А по сути ничего не рассказано в подробностях , смысл в таких видео...Рассказать поверхостно о сложных вещах.. Ваш вариант гораздо ближе к правде.
Чтобы вы посоветовали, какое направление, я сейчас на Java, но постоянно сомнения, то ли направление выбрано для 1 ого языка, пробовал разное и С# и Котлин, андрож разработка, сложнл сделать выбор, желание большое, но кау выбрать правильный путь.
Потому, что все примеры, почему надо шарить - плохо пахнущий код. Потому, что человек его пишущий даже не догадывается в чём он не прав. Он использует библиотеки бездумно, как чёрный ящик, как тёмную магию. Потому, что алгоритмы не нужны всё уже до нас написано. И начинает строчить циклы в циклах с кучей проверок внутри циклов. Да так, чтоб память вечно выделялась. Работает же, результат есть, я сделаль.
-- Видео крутое, но есть вопросик к действующим разрабам: если это такая база, нужна ли она для получения первой работы или для работы миддлом и выше (ощущение, что развитие в данном направлении актуально только для олимпиадников)? -- И еще вопрос, вот ты решил 100 задач на литкоде, разобрался с вещами, описанными в видео, но не будет ли бизнес просить тебя фичу за неделю на условном реакте выкатить, и его (бизнес) не волнует, как быстро он будет выполняться или сколько памяти сожрет. -- Поделитесь опытом, в какой из двух лагерей идти: CS и глубокое изучение (не приведут ли синтетические задачи к выгоранию) или хайповые и нужные рынку технологии, которые есть в каждой вакансии? Черт, далеко не в каждой компании просят решать сложные задачи на алгоритмы, а достаточно только основ. Не правильнее ли по мере продвижения по карьерной лестнице углубляться в CS?
Блин, не знаю, я решал где-то около 20-30 задачек подобных за жизнь, миддл. На собесах спрашивают про Big O удивительно часто, всегда отвечал, что не знаю, но могу предположить. В работе сильно пригождаются разные приколы с коллекциями, типа как в лист добавить лист других элементов, как склеить, как написать все это компактно. Ну и база всякая вроде как из итератора сделать Iterable, как из него же сделать Stream.
На второй и третий вопрос - учи хайповые темы, а лучше всего запиши вопросы с собесов, на все вопросы ответы найди, а научишься дальше уже на работе. Обычно написать компонент это одна задача, а сделать чтоб работал быстрее - другая, и не факт что на вторую тебя поставят вообще.
1) Основы CS в каком виде, какой то процент лучше знать. На работе с технической стороны ожидается, что ты будешь учить проектную специфику, углубляться в особенности платформы/фреймворка 2) Бизнес не волнуется время выполнения, пока на это не будут обращать внимания клиенты. Чаще всего конечно будучи условным джунов, у тебя не будет таких задач, где ты можешь сломать какой либо бизнес процесс не оптимальным решением и скорее всего для решений проблемы уже существует миллион абстракций в проекте 3) Сразу глубоко учить CS смысла нет, по моему мнению лучше делать это постепенно, тем более что у тебя будет опыт, на который можно будет проецировать знания. Мне например, как веб-разработчику на C# знание алгоритмов практически не нужно, не приходилось их применять, максимум построить рекурсивно дерево, куда выгоднее знать, как работает условно HTTP, браузер, .NET Все, что я написал выше, можно на практике сильно отличатся от языка программирования, проекта, команды, должности, и прочего
Ты ведь когда пишешь скрипт, работаешь с данными в каком-либо виде, а значит работаешь со структурами данных. Когда работаешь с этими самыми данными, применяешь алгоритмы в том или ином виде. Некоторые из них уже решены оптимальным способом и необходимо просто разобраться теоретически. Так что быть знакомым очень желательно, но если не будешь знать, придется искать какие-то обходные (неоптимальные) пути либо изобретать свой велик. Для наглядности можешь глянуть в java в сравнении с ( ua-cam.com/video/RKhNpG7_fhI/v-deo.html )
Это мб все очень важно у разрабов на крестах, но в джаве, ты сидишь и сущности вертишь, там алгоритмы не нужны почти никогда, все уже 15 раз реализовано в библиотеках и при попытке наговнокодить свой алгоритм тебе просто напишут комент в гитлабе «юзай метод х из библиотеки у» и все.
@@wndtn понял, но алгоритмы не нужны, извини, знать о их существовании и пару раз посмотреть на их реализацию нужно, но сидеть на литкоде, рил? Зачем вводить в заблуждение людей и заставлять их учить те вещи, которые не нужны в начале обучения, это всегда можно посмотреть после.
Ну вообще, знаешь, я думаю что это своего рода естественный отбор. То факт что ты себе уже построил какую-то философию, и отталкиваешься от нее - это здорово. Удачи, старина
Согласен. Такой работы, чтобы требовались глубокие знания структур данных и алгоритмов очень мало и она специфична. Например в самом массовом сегменте WEB, задачи фронтенда это представление данных, в JS уже определены структуры данных (массивы, объекты, map) и определены методы реализующие все необходимые алгоритмы (поиск, сортировка, фильтрация и т.д.) Никто вообще не запаривается по поводу алгоритмов и структур, пользуются тем, что предлагает язык или фреймворк. Гораздо важнее архитектура и паттерны проектирования. Такой работы выше крыши и за нее готовы хорошо платить. На бекэнде в большинстве случаев такая же ситуация, это схема БД в соответствии с предметной областью, операции CRUD, кеширование, очереди, API, фреймворк и СУБД предлагают готовые структуры данных и методы работы с ними. На первый план опять выходят архитектура, SQL и паттерны проектирования. Такой работы тоже выше крыши.
Не искал, есть ли уже подобное, но вот идея для следующего ролика - как использовать ChatGPT (или другую подобную нейросеть) в качестве интерактивного учебника и задачника. Была идея на DTF или в песочницу Хабра сделать статью, но мне чот прям влом 🥲 Я тут GPT сейчас чтобы матан учить использую. Указал к какой теме мне нужно дойти, спросил какие промежуточные и попросил давать задачи разной сложности, а потом разъяснять ошибки. И это получилось сразу. Не помню какой запрос подал попробовав также с Python, но, вроде, ChatGPT понял меня чуть хуже, чем при запросе на матан. Опять же, я попробовал всего один раз и забил.
Тоже кстати пробовал использовать в качестве обучения, но только с JS. К сожалению, некоторые не особо простые темы он не смог разобрать. Возможно я писал плохие промпты, но результат был ужасным(он просто выдавал неправильные ответы)
В коммерческой разработке 7 лет. Субъективное мнение: достаточно знать базовые контейнеры, их свойства и основные операции. Насчёт остального, в современных языках разработки, на уровне стандартных библиотек или сторонних пакетов уже давно существуют функции, которые прекрасно всю сложность и разнообразие инкапсулируют. Не стоит забывать, что мы работаем зачастую также в окружении современных компиляторов, которые могут существенно оптимизировать написанный нами код, освобождая нас от необходимости самостоятельно этим заниматься, тем самым сдерживая рост сложности проекта. К этому добавляется и постоянно растущее в мощности железо. Конечно все сильно зависит от специфики проекта, но большинстве своем условия будут как приведенные выше. Основная проблема как мне кажется сейчас - это неверно расставленные приоритеты. Все стремятся писать производительные с точки зрения поведения системы (меньше по ресурсам/быстрее по времени), а вот про производительность труда самого разработчика как то забывают. Требования также сильно зависят и от целевого грейда. Так, никто не будет требовать от младшего специалиста знаний графа когда будут искать кандидата на очередной проект написанный (или еще только проектируемый) на популярном фреймворке. Такая расстановка приоритетов часто приводит к Легаси системам с избыточной сложностью, дублированием и кучей неудачных дизайнерских решений. Т е к проектам с низкой производственной эффективностью: задачи делаются долго, новые требования долго обсуждаются, либо вовсе отклоняются вследствии неудачных архитектурных решений, дефект на дефекте и т п Инженер должен прежде все быть прагматичным, грамотно оценивать поставленные цели и средства для их достижения. Что касается навыка решения проблем, опять же ИМХО, но лучше математики здесь ничего нет. Новичками все же рекомендую обратить внимание именно на изучение фреймворков и мат части (для развития навыка анализа и систематизации явлений, развития аппарата для рассуждений/рефлексии). Именно от фреймворков (и непосредственной рабочей практики) и будет идти выработка ключевых практических навыков с минимальных количеством шума. Дальше, после набора практической "массы", можно уже приступать к изучению более фундаментальных, но в тоже время абстрактных концепций (принципов, паттернов, архитектур), но опять же, только после того как прийдёт четкое понимание того, а за что нам все таки платят.
Физика для навыков работы над проблемами будет получше. За счет компонента "реальности" мира, о котором многие забывают, когда упарываются в творчество на проектах.
@@ВладСавченко-к5ь ага, особенно когда дело доходит до абстракций. Особенно в языках, которые ООП поддерживают (нет) через жопу. PS ООП не развивает навык решения задач. ООП - это парадигма, накладывающая ограничение на архитектуру и код в целом.
Госпади, я вообще не занимаюсь и не умею програмировать, почему это замечательное видео появилось в моей ленте? Я его посмотрел и от того что я понял буквально 1% информации, мне поплохело
Хех, я где-то год назад увлёкся пилотированием самолётов. Как увидел кабину Airbus A320 и то как пилот целый час готовил его к вылету, попутно объясняя как это делать. То я офигел от количества всего,а вот сейчас по памяти его могу в воздух поднять. Но то что я тут увидел... то это видать следующий круг ада. Вообще как-то попробовал обучатся по книжке, и даже пару простейших программ написал уровня "Hello World". И вроде сама программа работала, но тут появилась заминка, и что-то некоректно работало. А книжка была написанна под старую версию питона, поэтому не могла объяснить что за хрень уменя в коде, и чего я не так сделал. А точнее что за хрень я вообще выдумал и почем это корректно не работает. Решил думаю на Stack Overflow залезть - сайт где программисты отвечают на вопросы начинающих программистов. И я там столько вопросов неотвеченных увидел, что это ппц. Ну, думал в поиске поищу, может был такой вопрос. Ага, 23 страницы в каждом по 100 с чем то попросов пересмотрел, и нихрена не нашёл. Вот я и подумал зачем заниматся тем, на что в процессе обучения нормального ответа можно и не получить. Не то что у самолёта, в котором так или иначе можно чётко понять какая за что кнопка отвечает, когда её использовать, а когда нет. А тут, но это просто дремучий лес если честно, который до невероятных маштабов разросся. И всё продолжает увеличиваться, с введением новых языков и новых версий языков Охх, тут наверное только ИИ сможет все понять и дать ответ на все вопросы.
@@Valentin_MeL Ещё такую неприятную штуку скажу. В программировании ещё нужно уметь сделать так, чтобы твою программу не сломали. Начиная с простых проверок вводимых данных, заканчивая специализированными атаками. Написал сайт? Молодец, иди переписывай так, чтобы его: 1) не задудосили; 2) не выполнили php\sql\etc иньекцию; 3) сертификаты, шифрование. Боль короче)
Нда ... большей чуши не видел ! Хотел найти простое видео для начинающих по программированию и дать племяннику посмотреть, но это просто дичь. Я 18 лет в корп. разработке, из них последние 10 лет тимлид и сейчас рук. разработки, могу с уверенностью сказать что никакие алгоритмы и стр. д. учить не нужно даже мидлам. Начинающим нужно научиться просто решать поставленные задачи бизнесом, то есть научиться делать что то полезное на своем ЯП. Мидлам нужно уметь решать неплохо 90% задач от бизнеса. Сеньоры должны уметь решить любую задачу. А вот когда вы поймете что переросли сейнера или почувствовали что НА ТЕКУЩЕМ МЕСТЕ РАБОТЫ вам не хватает алгоритмической базы, вот только тогда учить нужно алгоритмы. Сейчас полно развелось идиотов которые на собесах начинают спрашивать алгоритмы и стр. д и прочую дичь, а потом сажают на "покраску кнопок"(фронт)/"крудошлепство бд"(бэк). Как рук. разработки в крупной компании уже лет 5-6 наблюдаю молодых натасканых джунов с прекрасной алг. базой, но не умеющих элементарно взять таску от аналитика и сделать ее самостоятельно, в приемлемые сроки и до конца. На элементарных задачах сидят (извиняюсь) дрочат километры кода и пытаются написать код "поумнее" используя полученные знания по алг., на выходе дичь какая то. В итоге потрачено куча времени, заказчик не доволен и нужен сейнер который сядет рядом и покажет алгоджуну как пишется промышленный код. Господа, это п...ц какой то, вот именно такие авторы портят понимание индустрии новичкам своей дичью про алгоритмы. Становитесь просто хорошими инженерами, а не "алгозатротами" (такие нужны только в гуглах).
Бред какой-то, тебя ни в одну нормальную зарубежную компанию с таким подходом не возьмут. Работаешь, наверное, в шарашкинйо конторе. Как это СД не нужны? Как ты без них вообще умудряешься что-то делать? Ну и алгоритмы как раз учат писать грамотно код, т.е обучают паттернам. То ,что ты там где-то надрочился решать однотипные задачи на радость боссу и клиентам, не делает тебя программистом. Ты ноль без базы, ИИ вот таких умников в первую очередь и заменит. Лучше иди учись, коли за 18 лет так ничего и не освоил.
@@ithinkthereforeitalk935о мамкины программисты подъехали. Мальчик, дорастешь хотя бы до сеньора поймешь, может и юношеский максимализм пройдет к этому моменту. А пока сиди на своем литкоде и дрочи никому не нужные алгоритмы. Вообще подобные детские комплексы в твоем возрасте лечатся у психолога, сходи может поможет. )))
Your content is awesome as always mate! 8 years ago when I've started my journey to programming I was learning all these stuff about IT. It was f@#ing hard to understand CS but one day I've got an opportunity to start working as a WordPress Developer and 8 years later when I'm making now so called 6 figures with green mates I can tell for sure that among ALL Software Engineers there are one more species: WordPress Developers and how weird it will sound but none of that sh#ts apply to WP you are just f@#ing WordPress Developer and that is it. F@#ing WordPress Developer.
Алгоритмы и структуры данных никогда не перестанут быть актуальными, потому что удачи в написании софта без структур данных, а алго - по сути что-то вроде кратчайшего пути до цели, которую нужно софту достичь. Можно, конечно, писать код, не опираясь на алгоритмы и бэст практисез, но это будет такая макаронная каша, что если ты хотя бы на неделю отвлечёшь свой мозг от постоянного прокручивание в голове принципа и механик работы своего говнокода, вернувшись к нему расплачешься кровавыми слезами из жопы /thread
прослушал это все, понял что ничего из этого не использовал за год коммерческой разработки, максимум сравнивал два листа чтоб отсортировать первый по признаку второго. Бизнесу плевать на алгоритмы и выделения памяти. Им главное за спринт выкатить функционал.(надеюсь что когда нибудь буду использовать, а то жаль щнания которые получил в универе) что кстати ещё понял по LeetCode: был коллега который постоянно сидел решал литкод, он был менее опытен чем я, но при этом задачи щелкал как орешки, а я в рот шатал их. В итоге разница между нами: я пишу более чистый и функциональный код в срок, успеваю написать документацию по проекту он пишет огроменный код, которому можно было бы двумя строками ограничиться, функционал не допилен из-за дедлайнов и поиска правильного решения, а также другим программистам тяжелее читать его код. я не говорю что CS не нужен. он как раз так и нужен. как и говорилось БАЗА
Вот ещё с первых уроков по математике, когда начали решать задачки я начала халтурить. Если я знала, какой будет ответ (подсматривала в конце учебника) , то решение просто придумывала. Не важно каким образом, лишь бы получить нужное значение. Сейчас в попытке решать задачи по разным языкам, иногда я начинаю также халтурить. Ужасная привычка
@World of Fear все было нормально, до начала функций. Хотя не знаю, застряла немного в решениях задач на степике. Пока просто смотрю и повторяю , вроде все легко
@World of Fear Очень верно подметили. Сначала изучала js, а до html/css, короче все для фронтенда, но в какой-то момент начало казаться, что в этом направлении невозможно устроиться на работу. Решила попробовать php, оказалось он ещё доволен востребованный и можно зная его легко устроиться на первую работу. Сейчас уже не понимаю, вакансии есть всякие и по разным скилам. Сложно понять от чего отталкиваться. В целом мне нравится что-то создавать и придумывать. Я готова в это вложиться по полной, придумываю сама дизайн, ищу картинки и тексты. Уже исходя из своего опыта и этих попыток постепенно подхожу к full-stack. Сложно, уныло и тяжело без поддержи, дисциплины. Но надо делать, создавать полезные и интересные вещи, которые в последствии будут радовать и мотивировать меня
@World of Fear к сожалению, никто не захотел инвестировать в мое образование. Оттуда и выбор в силу бесплатного самообучения. Хотя и тут наверное, не обязательно платить, важнее взять структуру и идти строго по плану. Вот вроде я все знаю, все понимаю, но на деле просто сижу и не знаю что делать
не надо копать так глубоко, если ты хочешь стать веб разработчиком такие вещи вообще не нужны. Новички не ведитесь на это, лучше учить node, php или go а дальше паттерны и фреймворки
Согласен, но глубокое знание алгоритмов никогда не помешает, вообще широкий кругозор это круто. Я ни разу не решал литкод и в вебе за год работы вообще ни разу какие-то хитрые алгоритмы не использовал. Но базу 100% нужно знать, ту же O нотацию и поверхностно какие бывают структуры данных и как они реализованы. Без понимания этого не представляю как можно писать хороший код
@@Hasan_vince Никто не знает чем ты будешь заниматься на работе. Например я очень много работаю с коллекциями - их туда сюда гоняю. Нужно всегда думать когда пишешь код про сложность и по памяти, и по времени. Если писать плохой код на продукте, на который большая нагрузка, то он будет жрать много ресурсов - а это деньги. Может тебе нужно будет работать с бд. Они основаны на каких-то структурах данных, зная их, можно понять какая операция сколько стоит. Под базой я имел ввиду поверхностное понимание алгоритмов и немного практики в этом. Типо какие есть сортировки, как они реализованы, какая у них сложность, виды алгоритмов (жадные алгоритмы, дин прог, эвристические) и тд. Мне кажется это мастхев знать
Про цикл For сюда пишите! Сколько вас вообще
Очевидно, что после инициализации счетчика сначала идет проверка условия, а только потом выполняется тело цикла. Иначе это было бы не while (синтаксическим сахаром которого является for), а do-while.
Помедленнее, я записываю 📝😄
Выполнение цикла происходит для значений от i=0 до 10 включительно с перебором по i
ВРУН
0:50
Я на плюсах и джаваскрипте проверил. Ты специально ошибся или реально накосячил?
ну да, тоже сразу заметил бред и стоит это пофиксить в видео ибо новички могут не понять, что ты ошибся
единственный чел, которого можно спокойно смотреть не на х1.5
Мне иногда кажется, что он заранее ускорил. Ну ОЧЕНЬ быстро говорит, иногда не успеваю понять, что он только что сказал.)
Хах, да, точно!
в отличие от Хауди Хо где надо 2X смотреть
@@BukhalovAV смотрю на 2.5х и норм
Я бы даже сказал в моменте надо 0.5 ставить )
0:50 - неверно.
Правильный порядок:
1) i = 0
2) i
Тоже на этом моменте чуть удивился. Видимо простая ошибка))
Вроде из за ++i выполнение будет
1)I=0
2)++I
3)I
Во-во, я тоже подумал, что НЕУЖЕЛИ Я ЭТО НЕ ЗНАЮ??? Спасибо, ты развеял сомнения)
@@chelbaev нет не так, неважно как ты напишешь инкремент постфиксно или префиксно, он будет выполняться после блока кода. Если не веришь можешь это вбить в компилятор
for (int i = 0 ; i < 3; ++i)
{
std::cout
@@sevissav5811 бля, мы в институте проходили этот момент, я помню что какая-то разница между I++ и ++I есть, но я не помню какая )
Сначала подумал, что забыл скорость вернуть на 1х 😂
Спасибо за ролик!
До недавнего времени, 3-4 видоса назад, понимал в твоей быстрой речи лишь некоторые её части знакомые мне по опыту. Сейчас прокачал свою нейронку до стабильного понимания смысла всего сказанного. Способ оценить свой уровень, благодарю.
Надеюсь речь идёт про х2 скорость воспроизведения?)
После просмотра десчтков видосов на 2x это видео выглядит,как детский лепет)
Спасибо, очень интересно и с минимумом воды(бэ, ээээ, ааа,, мммм), очень классный канал ! Сделайте многочасовое видео по C++(full version) с вашей подачей.
И можно еще язык C - для микроконтроллеров)) Лучший канал для меня на сегодня, есть полезная информация, практика, карта необходимых знаний И МОТИВАЦИЯ ВСЁ ЭТО ИЗУЧИТЬ!!)
Посмотрел видео месяц назад, большую часть видео просто смотрел и ничего не понимал, но пересмотрев щас, понял большую часть, и так приятно стало
1 кружок: инициализация
2 кружок: условие цикла
3 кружок: главное действие (или просто действие, тут сомневаюсь)
4 кружок: программный блок
0:50 вообще то i
Красавчик
не, если не выполнится инициализация, то не будет и проверки i
@@andrewal6292 исходя из того, что вы говорите у вас выполнится задача при инициализации i=11
@@АлексейАлексеев-ц8х9тпочему? После выполнения при I = 10, пройдет инкремент и проверка выдаст false
@@ТимурКадырбеков-р1ду тебя вместо мозга экскремент
Автор, спасибо что ускорил видео на монтаже, очень приятно. В нынешних реалиях твои (средние по миру) 13, как огромные 28 у других. Главное не длина, главное наполнение, спасибо короче
Я ничего не ускоряю
Ты просто так хочешь :)
@@wndtn ты сам на скоростях)
Уже по его увлечением репом можно понять, что ему не нужно ничего ускорять.
@@wndtnда, по тому, как ты проглатываешь звуки, это слышно)
Меньше минуты просмотрел. В цикле for сначала идет инициализация, потом проверка, потом тело, потом инкремент (для данного случая). Кружочки расставлены неверно =(
красавчик!
@@wndtn заскамили на кружочки
P.s спасибо за видос
После обнаружения такой ошибки не вижу смысла смотреть дальше
Ты гений, не останавливайся
Мой препод в школе тоже делал специалтно ошибки которые замечали все. Мне кажется это фишка хороших преподов чтобы удерживать внимание.
Отличный рассказ про то, зачем вообще нужна теоретическая база, но есть несколько незначительных нюансов, к которым я всё-таки прикопаюсь (хотя критического ущерба подаче информации они не несут)
1. Деревья и теория графов. Не совсем корректно относить деревья как структуры данных к теории графов, как мне кажется, потому что теория графов рассматривает деревья с несколько иной стороны, нежели их использование для структурирования данных.
2. Unordered_set и unordered_map в C++ реализованы с использованием хеш-таблиц с открытой индексацией и никаких деревьев не используют (там только массив и односвязный список под капотом). Красно-черное дерево используется, но только в set и map
Хай. Датасаентист тут ) Если коротко - по моему опыту, они в сфере DS нужны обязательно. С алгоритмами плотно познакомился когда готовился к собезу в яндекс, там это спрашивают неплохо так. Так вот, пока ты фит/предиктишь модельки из коробки где нибудь на каггле может алгоритмы и их оптимизации не нужны но в реальных задачах... простой пример, есть датафрейм с координатами и нужны расстояния между всеми ними. Первое что может прийти на ум это 2 цикла, один в другом - сложность алготитма O(n²) что может сработать на небольшом количестве точке, но, если их много - то это пипец ) И такого рода задач много, не только с географией. Особенно в сфере дс, т.к. мы часто работаем с большими данными.
П.С. я сразу начинал с кодварс и литкода и когда натыкался на задачу у которой в требовании указана необходимая сложность алгоритма, шел гуглить ) Возможно кому то будет проще изучать их именно так.
Но по сути в for сначала происходит инициализация, потом проверка условия, далее тело цикла и только потом инкремент(ну либо другое прописанное действие). Так как for является неким синтаксическим сахаром, любой for можно переписать с помощью while. Например for из видео:
i = 0
while(i
Да кому это интересно, главное рекламную интеграцию вставить, потом рассказывать 13 минут очевидные вещи(можно было потратить 5, даже не читая скороговорки), а то что там неправильно объяснено базовую вещь, что точно введёт кого-то в заблуждение.... да какая разница, схавают. Очередной додик который делает бабки на тонне людей, что услышали про золотые горы у программистов
Wow, this was such an informative video! As someone who's just starting out with programming, it was really helpful to learn about the 80/20 rule and how it applies to coding. I appreciate the examples and explanations provided, and I definitely feel more confident in my ability to prioritize my learning. Thank you for sharing this!
Ты чё выёживаешься?
@@Baron_Munghausenтебя это взбесило?
@@Baron_Munghausen он мотивирует учить английский, всё нормально
Я не знаю английский (
Как я собираюсь учить прогу без знания английского? Похуй
@@randomniy_noyneim не думаю что это настолько критично
Прекрасное видео плотность инфы скорость подачи, оч экономно тратит вниммание зрителя и количество циклов)
10:38 на слово "поняли" вставка постера Довода))) + сам тип повествования, блин, все, убедил, подписка
Спасибо за комплимент с красивым в зеркале)
бл, я думал не заценят. Кайф, бро
2:42 - рЕСПЕКТ, олдскулы свело аж
Ощущение, как когда открыл книгу перечитал оглавление и понял, что не зря она весит 20 кг
Лучший чел, в 13 минут укладывает то что некоторые растягивают на год контента для канала
Учитель: я буду диктовать медленно
Так же он:
Не смешно
Ура я начёл того кто не спит пока разговаривает. Наконец я нашёл того кто объясняет быстро и внятно.
Наконец-то я хоть что-то понял из сказанного в видео Виндертон))
про знание структур данных - это тот святой грааль, про который если узнают все, то козырей уже не останется, все единоразово станут синьёрами
Почему оператор сравнения в for выполняется после тела? Это же бред, тогда бы какое бы мы условие не поставили, у нас бы хотя бы один раз прокрутилась итерация, как в цикле do while, но это так не происходит
красавчик!
@@wndtn а я думаю чем меня только что накормили... а это проверка такая...
@@wndtn ахах, попались на кликбэйт, черт)
Ролик крутой, смысл поддерживаю
ну бро, я считаю с зеркалом и фором пиздатый байт получился. В хорошем смысле офк
Получается, "коммент бэйт". Я надеялся будет больше комментов конечно, ну посмотрим.
Просто уже приелось "клянчить" лойков и комментов, а байты вот такие я думаю найс концепция. Они добрые.
Обалденно ламповый ролик!
Браво, разложил всё по полочкам, полочки ещё раз разложил, а полученные…..Ну, вы поняли.
Спасибо, как всегда, быстро и полезно и с пояснениями. 🥸🥸🤓
рекурсивные полочки? необходимо определить базу рекурсии
как же офигенно, я не программист и вообще не шарю но как включил видео, так и не смог выключить до самого конца
Ты забыл упомянуть, что на стажировку Яндекса попасть достаточно сложно. Первый этап: дается 6 задач и 6 часов. На паузу не поставить, задачи сложные. Я пытадся попасть на машинное обучение, были задачи: на теорвер, на структуры данных, и в конце еще надо было написать нейронную сеть, которая распознает речь из аудиофайлов
Да, да. Аналогичная история только с направлением Back-end. 3 задачи, 4 часа. Задачи кажутся на первый взгляд нормальными, но некий «тест #9999» (утрирую) падает с ошибкой по времени выполнения. По итогу решил 2 задачи и потратил кучу времени на их безуспешную отладку. Грустно, очень хотел попасть в стажировку к Яндексу :(
О себе: 4 года работаю программистом, не смог попасть на стажировку для студентов в Я - тильт
@@mon-x9ff , да потому что они помешаны на алгосах. Ты должен был работать 4 года не прогером, а олимпиадную прогу дрючить, тогда для Яндекса ты хорош.
@@QWERTY-xy9dn да никто там не помешан. просто копируют задачи у гугла. порешай литкод пару месяцев и вот ты уже синьер-помидор в яндексе. я отказал яндексу потоу что 250к рублей это просто смешно а не зп.
@@andvets6946 , мощно) В принципе я понимаю, что надо просто перетерпеть это все. Вероятно, в будущем займусь этим конкретно. А поработать в Яндексе - это большой плюс для резюме. Просто за упоминании этой компании ты будешь выделяться при найме, мне так кажется.
@@QWERTY-xy9dn если только в снг)
2:46 - Алгоритмы и Структуры данных
6:50 - Массив Вектор Словарь
8:57 - Деревья (Теория Графов CS)
10:06 - Алгоритмы 11:07 - Скорость выполнения BigO (leet code)
0:50 - Сначала же идёт проверка i на
Красавчик!
С фора орнул, спс) Инициализируем, потом проверяется условие, после - тело цикла, далее инкремент.
Красавчик
Очень мощная подача. Благодарность и уважение ! 🙏🙌
Подача не главное, главное то, что он говорит. "Математика связана с программирование косвенно". Он про дискретную математику хоть слышал? Алгоритмы и теорию графов он предлагает учить, а про то, что без дискретной математики вы ничего не поймете ни в алгоритмах, ни в теории графов он умалчивает.
Как только услышал про практику в яндексе, тут же перешел туда и подал заявление. Хз почему но все рекламы этого действа проходили мимо меня, вообщем спс за сведения
Отдельное уважение за упоминание чмоструктур, которые некоторые почему-то до сих пор относят к отдельным видам структур.
Получил нереальное удовольствие от просмотра. Добра тебе. Ты лучший👏👍
я когда работал по другой профессии делил всех коллег по такой классификации.
1. Заумный незнайка. Он выучил все что можно, может сдать любой тест, но самостоятельно не умеет работать. Обычно такие в итоге становятся проверяющими и ревизорами. Они знают как надо, но не могут сделать сами.
2. Заумный и умный. Эти знают все обо всем и реально могут это применить. Таких в своей профессии я встречал 2 раза. Среди тысяч сотрудников.
3. Середнячек трудолюбивый. Он незнает прям всего, но имеет профильное образование и может сделать все нужные шаги в рамках его работы.
4. Середнячек ленивый. Он тоже не все знает, но выезжает за счет других либо на удачу. Профильное образование тут тоже есть.
5. Работник с улицы, легкообучаемый. Проф образования нет, но он смог все что нужно выучить быстро и качество. Основ незнает и его это не парит.
6. Работник с улицы тупой. Головная боль любого коллектива и руководителя. Тупой, необучаемый, но и заменить не кем.
7. Опыт не пропьешь. Основная категория. Люди которые пришли с разными начальными знаниями, но в процессе долгой работы и делания даже очень сложный задач, все выучили и теперь им кажется, что все очень просто.
П.С Читаю комменты и прям вижу как комментаторы распределяются по этому списку. Тут есть один тролль. Бьюсь об заклад, что это либо заумный незнайка либо середнячек ленивый. Именно они любят всех поправлять и считают себя самыми умными.
Братан, вперед! Контент хорош! Красавчик красавчик!
11:01 выглядит как обложка для книги по алгоритмам
Быстро, чётко, непонятно (значит учим основы для начала)
Подача🔥, отлично держишь контакт и фокус зрителя! С for и идеей про него отлично получилось😂
‼️Продолжай, ты красавчик! И ты это знаешь)
P. S. За птичку жди звонка от Кэмэрона, она восхитительна, еб@@@я не зря!
Кайф, спасибо бро
у аудитории память как у рыбки дори
все забыли про скелеты в шкафу у автора
@@pixel7139 какие скелеты?
@@MrBun3 инфо-циганство, в ютубе полно разоблачений
топ видос. хотя когда-то говорил, что не заинтересован пилить такие видосы, для самых новичков. если не ошибаюсь, примерно так и говорил
Тот самый фронт-энд разработчик который зашёл на видео и получил 20% теории по data science 😎😎😎
Настолько качественный интересный контент. Каждый раз поражаюсь твоему росту, отличному подходу. Создаётся желание реализоваться в жизни, чтобы потом пиарить тебя(ахахахаха). Я как раз прохожу испытательный срок в крутой компании. В том же духе, , брат есть жи
01:19 - if (!(number & 0x01)) print("true
");
Для самых маленьких: если младший бит числа равен единице, то это не чётное число, а значит это условие проверяет числа на не чётность. Но инвертировав результат "логического и" оператором "восклицательный знак" мы превратим истину в ложь, и будем проверять уже чётность числа.
Вот прям это же и хотел написать. Ну ок, сделаем скидку, что там подразумевалась кратность целому, например.
Огромное спасибо автору за труды! 🙃
Программирование действительно интересно когда делаешь проекты для себя а не то что просят на работе. Да и вообще дедлайны и чужие проекты кошмар который не хочется никогда в жизни видеть. Это очень интересное хобби, но наверное самая нудная работа в мире.
когда дикция годовалого ребёнка, а скорость речи пулемёта
Огромное спасибо за твой труд и подход к подаче материала! Просьба, по крайней мере это бы очень помогло, если бы ты прикреплял ссылки на видосы которые ты упоминаешь в качестве рекомендованных.
Было интересно, ставлю большей палец вверх
Ты рассказал первые 2-3 курса забугрового универа для информатика. Однако все очень зависит от направления работы! В реальности есть сеньеры работающие по 10-15 лет уже и все это забыли после выпуска из университета.
Конкретно это - пара недель (в худшем случае) вкуривания матчасти. На собесах академические и глубокие знания подобных вещей не помогут.
этих сеньоров надо в окоп на фронт.
Первый адекватный автор оригинального контента для программистов на ютубе, на которого я наткнулся, шарящий и выкупающий за всё
Ждём видео о C++ на 10 часов
Я видел видео, где С++ за час можно изучить, 10 слишком долго :(
@@AntonGorbachevDev не ну за час база и то плохая
лучший способ в общих чертах разобраться с любой структурой данных это попробовать написать ее реализацию. в ходе этого как раз и алгоритмическую базу подтянешь делая к этим структурам методы сортировки и поиска
Работаю в айти уже очень долго, приходится писать код, особенно последние годы только этим и занимаюсь. Я ненавижу математику, все эти "интригалы" но люблю писать код и моя работа связана с этим.
Так вот за многие годы я только один раз столкнулся в программировании с математикой. Дело было в компьютерной игре Space Engineers, там внутри игры есть компьютеры на которые можно загружать код на C# и автоматизировать игровые процессы. Так вот когда я попытался сделать скрипты для просчета полета объектов, скорости, гравитация, массы, вектора, углы, всякие там дельты, вот там я столкнулся с вычислениями из математики. Ну и да, что-то почитал из теории, примерно что-то получилось. Но в жизни я слава богу не занимаюсь программированием автоматически пилотируемых объектов. Так что не сильно расстроился.
Это невероятно, но факт. (Возможно, очень локальный факт, имеющий место только в моём окружении.) Большинство знакомых мне программистов не понимают, чем конкретно они занимаются на работе. В том смысле, что они не могут правильно ответить на вопрос о том, что такое программирование... т.е. в чём именно состоит работа по написанию программ. Она состоит в том, что данную свыше проблему/задачу нужно разбить на последовательность подзадач, которые уже имеют решение... либо в виде примитивов языка, либо в виде написанных кем-то библиотек. И эти уже решённые кем-то подзадачи нужно просто соединить таким образом, чтобы получилось решение твоей задачи. Проще говоря, нужно составить алгоритм из таких базовых шагов, которые есть в некоторой вычислительной среде, которая часто тоже дана свыше. С учётом этого довольно очевидно, что основной навык программиста - это умение составлять алгоритмы из базовых блоков (языка, фреймфорка, библиотеки). Нетрудно догадаться, что прокачать этот навык проще всего путём разбора чужих алгоритмов.
Листал ленту Ютуба, увидел это видео, почему-то решил посмотреть, нечего не понял, но зато было интересно.
std::unordered_map является hash_table, которую можно сопоставить (очень грубо, но всё же) std::vector, где value_type = std::pair.
Так что std::unordered_map не является имплементацией red-black tree.
Скорее всего это оговорка, ведь std::map и std::set являются имплементациями red-black tree
Я хотел показать сам принцип
Но по сути, у нас вообще нет имплементации стандартизованной
так вот почему мы целый семестр эти деки стеки пишем, это базовая база оказывается....
ты же наше сокровище! спасибо за качественный контент и подачу!
у аудитории память как у рыбки дори
все забыли про скелеты в шкафу у автора
@@pixel7139 какие скелеты
@@dagZHEZ забавно, автор видимо удаляет сообщения
я уже отвечал на вопрос такой же, но удалили и вопрос и ответ
просто гуглить "название канала" - разоблачение
@@dagZHEZ и н ф о ц и г а н с т в о
Были бы подкасты на споти, я бы тебя слушал
Вы очень помогаете и все на готовеньком подаёте нам, спасибо. Можете подбросить книги по математике для программирование?
у аудитории память как у рыбки дори
все забыли про скелеты в шкафу у автора
в зависимости от того,на каком яп ты пишешь.Если математика,то пайтон тут уже наиболее уместен.Так что просто вбей в гугле и рассмотри варианты
чотко!!!! лайк от прогера СЕООНЛИ
Если речь идет о чем-то более сложном, чем работа с WordPress, то без понимания алгоритмов не обойтись. Новички, возможно, считают, что опыт в разработке программного обеспечения связан больше с знанием синтаксиса, отладки и тестирования, чем с алгоритмами и структурами данных. Однако, на практике, для того чтобы точно определить требования к программному продукту и реализовать нужное поведение, необходимо выбрать оптимальный подход к разработке, который может быть связан с выбором соответствующего алгоритма.
Для того, чтобы определить требования к продукту, нужно общаться с бизнесом и скать компромисс по времени, потенциальному техдолгу, возможностям инфраструктуры и требованиям безопасности. Ну и иметь богатый опыт работы как раз для того, чтобы ставить какие-то эстимейты под фичи.
@@MungorTV а вот не его(бизнеса) собачье дело, сколько времени я выкатываю фичи. Скоро как раз брошу работу из-за подобных споров. Я тут творец и художник, а дело бизнеса не лезть ко мне.
@@kosiak10851 лезть бизнес может перестать. Как и платить, собственно говоря.
У нас есть ещё такие штуки как - деревья, которых просто целый лес. Бро, ты лучший просто X d
заценил анимацию с птицей? Я заебался это рисовать, старина
Я на 9:38. Возможно я не сильно знаю но вроде простой std::map реализован с помощью красно-черных деревьев, а std:: unordered_map с помощью векторов, листов(как к примеру chaining table), прошу поправить если я не прав
Ровно так и есть. RedBlack внутри map, hashtable внутри unordered_map
unordered_map реализован при помощи hash table.
@@Alexander_Gurov_RF в хештаблицах есть разные методы разрешения коллизий, в том числе и метод цепочек, про который и сказал комментатор
Посмотрел я на это всё, и, в целом, нового ничего не узнал.
Миша, 20 лет, учусь в политехе в Нижнем Новгороде. А теперь, для чуваков, которые тоже из нижнего, и думают о поступлении на прогера:
Направление 09.03.01 "Информатика и вычислительная техника"
1 курс: дискретные структура + теоретические основы алгоритмизации + вышмат.
2 курс: алгоритмы и структуры данных + прикладная теория информации + вычислительная математика + теория вероятностей.
За 2 курса дают всю ту базу, о которой виндертон говорил в этом видео. А сопровождается это основами машинного обучения и аналитики данных на python, паттернами программирования на Java и основами программирования на C++. (C++ 1-3 семестры, Java+Python - 4 семестр). И даже если вы вообще не шарите в программировании, всему вас тут научат, всё, что от вас требуется - знать, что такое переменная. Я серьёзно, в нижегородском политехе в этом плане всё просто супер. Так что, как говорится: "Поступай правильно - поступай в политех!"
P.s. сам работаю в бэке на php, нелёгкая занесла ...
В любом случае инфа с лекций по проге такое себе. Все будут брать ее с интернета. Поэтому в вузе только практические задания сдавать будут, и все
Кто нибудь может посоветовать книгу по программной архитектуре. Я смотрел несколько, но там самые основы по типу "вот есть микросервисы а вот монолит" и невозможно опираясь на них создать хорошую архитектуру. А хочется по кокретней чтобы рассказали как лучше построить взаимодействие между объектами, и как построить какие-то системы.
Я вот сейчас заканчиваю читать книгу "Чистая архитектура" Роберта Мартина. Он же Дядюшка Боб. Доступно и местами с юмором. Я ее прям конспектировал, чтобы лучше понять.
Посмотри гайды по системному дизайну, очень много на ютубе
@@Kalin_cheetah Чистая архитектура - это про архитектуру кодовой базы, а не архитектуру бекенд-приложений, которая сейчас на микросервисах вся.
Что по книгам, то "Высоконагруженные приложения. Программирование, масштабирование, поддержка". Для проектов без хайлоада в микростартапах подойдет архитектурный паттерн "Работает и норм".
Виндертон: говорит супер быстро и по делу, с нулем воды
Я: Увеличиваю скорость на х1.5
Ни одного примера не приведено, где это в реальности было нужно и почему нельзя было использовать уже миллион раз реализованные библиотеки для всех этих стандартных алгоритмов. Если тимлид увидит, как ты сортировку свою пишешь на языке, в который она буквально встроена, - он тебе руки просто отобьёт. А сложность выполнения алгоритма тебе ChatGPT может посчитать и даже предложить оптимизацию. Буквально: если ты будешь тратить 20 минут на продумывание алгоритма, пока твой коллега тратит 2 минуты на запрос его в ChatGPT и идёт дальше писать бизнес-логику, то угадай кто из вас быстрее станет синьором... Не ты.
Все это (не прям все, но как минимум алгоритмы и структуры данных) нужно не для перехода от джуна к мидлу, а вообще, чтобы попасть хоть в какую нибудь айти компанию. То есть понятно, если ты уже работаешь где-то, то там от тебя требуется только скорость твоей работы и твоего кода. Но если ты хочешь "войти в айти", то на собесах от тебя будут требовать именно базу и теорию)
Тоже не увидел ничего нужного и полезного в видео, что все так хвалят... я новичек, но информация здесь такая, что просто сбивает людей:)А по сути ничего не рассказано в подробностях , смысл в таких видео...Рассказать поверхостно о сложных вещах..
Ваш вариант гораздо ближе к правде.
Чтобы вы посоветовали, какое направление, я сейчас на Java, но постоянно сомнения, то ли направление выбрано для 1 ого языка, пробовал разное и С# и Котлин, андрож разработка, сложнл сделать выбор, желание большое, но кау выбрать правильный путь.
Потому, что все примеры, почему надо шарить - плохо пахнущий код. Потому, что человек его пишущий даже не догадывается в чём он не прав. Он использует библиотеки бездумно, как чёрный ящик, как тёмную магию. Потому, что алгоритмы не нужны всё уже до нас написано. И начинает строчить циклы в циклах с кучей проверок внутри циклов. Да так, чтоб память вечно выделялась. Работает же, результат есть, я сделаль.
@@lucefan2816ну ты попробуй еще 10 языков, чтобы точно не ошибиться с «1-ым» 😅
Респект про крышесносный обратный корень от Бати!!! Вот уж где чел сумел удивить всех программистов мира)
-- Видео крутое, но есть вопросик к действующим разрабам: если это такая база, нужна ли она для получения первой работы или для работы миддлом и выше (ощущение, что развитие в данном направлении актуально только для олимпиадников)?
-- И еще вопрос, вот ты решил 100 задач на литкоде, разобрался с вещами, описанными в видео, но не будет ли бизнес просить тебя фичу за неделю на условном реакте выкатить, и его (бизнес) не волнует, как быстро он будет выполняться или сколько памяти сожрет.
-- Поделитесь опытом, в какой из двух лагерей идти: CS и глубокое изучение (не приведут ли синтетические задачи к выгоранию) или хайповые и нужные рынку технологии, которые есть в каждой вакансии?
Черт, далеко не в каждой компании просят решать сложные задачи на алгоритмы, а достаточно только основ. Не правильнее ли по мере продвижения по карьерной лестнице углубляться в CS?
Блин, не знаю, я решал где-то около 20-30 задачек подобных за жизнь, миддл. На собесах спрашивают про Big O удивительно часто, всегда отвечал, что не знаю, но могу предположить.
В работе сильно пригождаются разные приколы с коллекциями, типа как в лист добавить лист других элементов, как склеить, как написать все это компактно. Ну и база всякая вроде как из итератора сделать Iterable, как из него же сделать Stream.
На второй и третий вопрос - учи хайповые темы, а лучше всего запиши вопросы с собесов, на все вопросы ответы найди, а научишься дальше уже на работе.
Обычно написать компонент это одна задача, а сделать чтоб работал быстрее - другая, и не факт что на вторую тебя поставят вообще.
1) Основы CS в каком виде, какой то процент лучше знать. На работе с технической стороны ожидается, что ты будешь учить проектную специфику, углубляться в особенности платформы/фреймворка
2) Бизнес не волнуется время выполнения, пока на это не будут обращать внимания клиенты. Чаще всего конечно будучи условным джунов, у тебя не будет таких задач, где ты можешь сломать какой либо бизнес процесс не оптимальным решением и скорее всего для решений проблемы уже существует миллион абстракций в проекте
3) Сразу глубоко учить CS смысла нет, по моему мнению лучше делать это постепенно, тем более что у тебя будет опыт, на который можно будет проецировать знания. Мне например, как веб-разработчику на C# знание алгоритмов практически не нужно, не приходилось их применять, максимум построить рекурсивно дерево, куда выгоднее знать, как работает условно HTTP, браузер, .NET
Все, что я написал выше, можно на практике сильно отличатся от языка программирования, проекта, команды, должности, и прочего
И еще само разделение, где углубленные знания и где нет, достаточно размыто. Знать о существовании и смысл структур данных желательно
Ты ведь когда пишешь скрипт, работаешь с данными в каком-либо виде, а значит работаешь со структурами данных. Когда работаешь с этими самыми данными, применяешь алгоритмы в том или ином виде. Некоторые из них уже решены оптимальным способом и необходимо просто разобраться теоретически. Так что быть знакомым очень желательно, но если не будешь знать, придется искать какие-то обходные (неоптимальные) пути либо изобретать свой велик.
Для наглядности можешь глянуть в java в сравнении с ( ua-cam.com/video/RKhNpG7_fhI/v-deo.html )
Всё по полочкам разложил. Красаучик ваще...
Это мб все очень важно у разрабов на крестах, но в джаве, ты сидишь и сущности вертишь, там алгоритмы не нужны почти никогда, все уже 15 раз реализовано в библиотеках и при попытке наговнокодить свой алгоритм тебе просто напишут комент в гитлабе «юзай метод х из библиотеки у» и все.
Ты вообще понял что я говорил в видео?
@@wndtn понял, но алгоритмы не нужны, извини, знать о их существовании и пару раз посмотреть на их реализацию нужно, но сидеть на литкоде, рил? Зачем вводить в заблуждение людей и заставлять их учить те вещи, которые не нужны в начале обучения, это всегда можно посмотреть после.
Ну вообще, знаешь, я думаю что это своего рода естественный отбор.
То факт что ты себе уже построил какую-то философию, и отталкиваешься от нее - это здорово.
Удачи, старина
@@aammssaamm вы походу ни дня в энтерпрайзе не работали, раз несете такую чушь.
Согласен. Такой работы, чтобы требовались глубокие знания структур данных и алгоритмов очень мало и она специфична. Например в самом массовом сегменте WEB, задачи фронтенда это представление данных, в JS уже определены структуры данных (массивы, объекты, map) и определены методы реализующие все необходимые алгоритмы (поиск, сортировка, фильтрация и т.д.) Никто вообще не запаривается по поводу алгоритмов и структур, пользуются тем, что предлагает язык или фреймворк. Гораздо важнее архитектура и паттерны проектирования. Такой работы выше крыши и за нее готовы хорошо платить. На бекэнде в большинстве случаев такая же ситуация, это схема БД в соответствии с предметной областью, операции CRUD, кеширование, очереди, API, фреймворк и СУБД предлагают готовые структуры данных и методы работы с ними. На первый план опять выходят архитектура, SQL и паттерны проектирования. Такой работы тоже выше крыши.
Чел... Ты прям самородок золота
Не искал, есть ли уже подобное, но вот идея для следующего ролика - как использовать ChatGPT (или другую подобную нейросеть) в качестве интерактивного учебника и задачника. Была идея на DTF или в песочницу Хабра сделать статью, но мне чот прям влом 🥲
Я тут GPT сейчас чтобы матан учить использую. Указал к какой теме мне нужно дойти, спросил какие промежуточные и попросил давать задачи разной сложности, а потом разъяснять ошибки. И это получилось сразу.
Не помню какой запрос подал попробовав также с Python, но, вроде, ChatGPT понял меня чуть хуже, чем при запросе на матан. Опять же, я попробовал всего один раз и забил.
Тоже кстати пробовал использовать в качестве обучения, но только с JS. К сожалению, некоторые не особо простые темы он не смог разобрать. Возможно я писал плохие промпты, но результат был ужасным(он просто выдавал неправильные ответы)
Единственный ютубер , которого я слушаю на скорости 1х
А я на .75х
А как же @RedGroup
В коммерческой разработке 7 лет.
Субъективное мнение: достаточно знать базовые контейнеры, их свойства и основные операции. Насчёт остального, в современных языках разработки, на уровне стандартных библиотек или сторонних пакетов уже давно существуют функции, которые прекрасно всю сложность и разнообразие инкапсулируют. Не стоит забывать, что мы работаем зачастую также в окружении современных компиляторов, которые могут существенно оптимизировать написанный нами код, освобождая нас от необходимости самостоятельно этим заниматься, тем самым сдерживая рост сложности проекта. К этому добавляется и постоянно растущее в мощности железо. Конечно все сильно зависит от специфики проекта, но большинстве своем условия будут как приведенные выше.
Основная проблема как мне кажется сейчас - это неверно расставленные приоритеты. Все стремятся писать производительные с точки зрения поведения системы (меньше по ресурсам/быстрее по времени), а вот про производительность труда самого разработчика как то забывают. Требования также сильно зависят и от целевого грейда. Так, никто не будет требовать от младшего специалиста знаний графа когда будут искать кандидата на очередной проект написанный (или еще только проектируемый) на популярном фреймворке.
Такая расстановка приоритетов часто приводит к Легаси системам с избыточной сложностью, дублированием и кучей неудачных дизайнерских решений. Т е к проектам с низкой производственной эффективностью: задачи делаются долго, новые требования долго обсуждаются, либо вовсе отклоняются вследствии неудачных архитектурных решений, дефект на дефекте и т п
Инженер должен прежде все быть прагматичным, грамотно оценивать поставленные цели и средства для их достижения. Что касается навыка решения проблем, опять же ИМХО, но лучше математики здесь ничего нет. Новичками все же рекомендую обратить внимание именно на изучение фреймворков и мат части (для развития навыка анализа и систематизации явлений, развития аппарата для рассуждений/рефлексии). Именно от фреймворков (и непосредственной рабочей практики) и будет идти выработка ключевых практических навыков с минимальных количеством шума. Дальше, после набора практической "массы", можно уже приступать к изучению более фундаментальных, но в тоже время абстрактных концепций (принципов, паттернов, архитектур), но опять же, только после того как прийдёт четкое понимание того, а за что нам все таки платят.
Физика для навыков работы над проблемами будет получше. За счет компонента "реальности" мира, о котором многие забывают, когда упарываются в творчество на проектах.
для компонента реальности существует ООП. А физика нужна только для игр
@@ВладСавченко-к5ь ага, особенно когда дело доходит до абстракций. Особенно в языках, которые ООП поддерживают (нет) через жопу.
PS ООП не развивает навык решения задач. ООП - это парадигма, накладывающая ограничение на архитектуру и код в целом.
Спасибо, лайкос! Имхо, еще бы функции добавил, как отношения элементов или состояний структур данных.
Госпади, я вообще не занимаюсь и не умею програмировать, почему это замечательное видео появилось в моей ленте? Я его посмотрел и от того что я понял буквально 1% информации, мне поплохело
Хех, я где-то год назад увлёкся пилотированием самолётов. Как увидел кабину Airbus A320 и то как пилот целый час готовил его к вылету, попутно объясняя как это делать. То я офигел от количества всего,а вот сейчас по памяти его могу в воздух поднять. Но то что я тут увидел... то это видать следующий круг ада.
Вообще как-то попробовал обучатся по книжке, и даже пару простейших программ написал уровня "Hello World". И вроде сама программа работала, но тут появилась заминка, и что-то некоректно работало. А книжка была написанна под старую версию питона, поэтому не могла объяснить что за хрень уменя в коде, и чего я не так сделал. А точнее что за хрень я вообще выдумал и почем это корректно не работает. Решил думаю на Stack Overflow залезть - сайт где программисты отвечают на вопросы начинающих программистов. И я там столько вопросов неотвеченных увидел, что это ппц. Ну, думал в поиске поищу, может был такой вопрос. Ага, 23 страницы в каждом по 100 с чем то попросов пересмотрел, и нихрена не нашёл. Вот я и подумал зачем заниматся тем, на что в процессе обучения нормального ответа можно и не получить. Не то что у самолёта, в котором так или иначе можно чётко понять какая за что кнопка отвечает, когда её использовать, а когда нет. А тут, но это просто дремучий лес если честно, который до невероятных маштабов разросся. И всё продолжает увеличиваться, с введением новых языков и новых версий языков Охх, тут наверное только ИИ сможет все понять и дать ответ на все вопросы.
@@Valentin_MeL Ещё такую неприятную штуку скажу. В программировании ещё нужно уметь сделать так, чтобы твою программу не сломали. Начиная с простых проверок вводимых данных, заканчивая специализированными атаками.
Написал сайт? Молодец, иди переписывай так, чтобы его:
1) не задудосили;
2) не выполнили php\sql\etc иньекцию;
3) сертификаты, шифрование.
Боль короче)
@@МихаилГреков-н4э Мда уж позавидовать сложно.
Ну что ж, в путь!
Нда ... большей чуши не видел ! Хотел найти простое видео для начинающих по программированию и дать племяннику посмотреть, но это просто дичь.
Я 18 лет в корп. разработке, из них последние 10 лет тимлид и сейчас рук. разработки, могу с уверенностью сказать что никакие алгоритмы и стр. д. учить не нужно даже мидлам. Начинающим нужно научиться просто решать поставленные задачи бизнесом, то есть научиться делать что то полезное на своем ЯП. Мидлам нужно уметь решать неплохо 90% задач от бизнеса. Сеньоры должны уметь решить любую задачу. А вот когда вы поймете что переросли сейнера или почувствовали что НА ТЕКУЩЕМ МЕСТЕ РАБОТЫ вам не хватает алгоритмической базы, вот только тогда учить нужно алгоритмы.
Сейчас полно развелось идиотов которые на собесах начинают спрашивать алгоритмы и стр. д и прочую дичь, а потом сажают на "покраску кнопок"(фронт)/"крудошлепство бд"(бэк).
Как рук. разработки в крупной компании уже лет 5-6 наблюдаю молодых натасканых джунов с прекрасной алг. базой, но не умеющих элементарно взять таску от аналитика и сделать ее самостоятельно, в приемлемые сроки и до конца. На элементарных задачах сидят (извиняюсь) дрочат километры кода и пытаются написать код "поумнее" используя полученные знания по алг., на выходе дичь какая то. В итоге потрачено куча времени, заказчик не доволен и нужен сейнер который сядет рядом и покажет алгоджуну как пишется промышленный код.
Господа, это п...ц какой то, вот именно такие авторы портят понимание индустрии новичкам своей дичью про алгоритмы. Становитесь просто хорошими инженерами, а не "алгозатротами" (такие нужны только в гуглах).
Успокаивайся, старина
@@wndtn, привет. Можешь дать аргументированный ответ? Просто такие комментарии рил дают делать вывод, что твое видео фуфло(
Бред какой-то, тебя ни в одну нормальную зарубежную компанию с таким подходом не возьмут. Работаешь, наверное, в шарашкинйо конторе. Как это СД не нужны? Как ты без них вообще умудряешься что-то делать? Ну и алгоритмы как раз учат писать грамотно код, т.е обучают паттернам. То ,что ты там где-то надрочился решать однотипные задачи на радость боссу и клиентам, не делает тебя программистом. Ты ноль без базы, ИИ вот таких умников в первую очередь и заменит. Лучше иди учись, коли за 18 лет так ничего и не освоил.
@@ithinkthereforeitalk935о мамкины программисты подъехали. Мальчик, дорастешь хотя бы до сеньора поймешь, может и юношеский максимализм пройдет к этому моменту. А пока сиди на своем литкоде и дрочи никому не нужные алгоритмы. Вообще подобные детские комплексы в твоем возрасте лечатся у психолога, сходи может поможет. )))
Слушай во первых ты крут.
Во вторых всё по делу без лишней водички - это beautifol.
Продолжай в том же духе!
Лайк не глядя 😂
Самое интересное видео которое было про программирование
Your content is awesome as always mate! 8 years ago when I've started my journey to programming I was learning all these stuff about IT. It was f@#ing hard to understand CS but one day I've got an opportunity to start working as a WordPress Developer and 8 years later when I'm making now so called 6 figures with green mates I can tell for sure that among ALL Software Engineers there are one more species: WordPress Developers and how weird it will sound but none of that sh#ts apply to WP you are just f@#ing WordPress Developer and that is it. F@#ing WordPress Developer.
Пол видео, реклама яндекса. Ммммм базировано.
Алгоритмы и структуры данных никогда не перестанут быть актуальными, потому что удачи в написании софта без структур данных, а алго - по сути что-то вроде кратчайшего пути до цели, которую нужно софту достичь. Можно, конечно, писать код, не опираясь на алгоритмы и бэст практисез, но это будет такая макаронная каша, что если ты хотя бы на неделю отвлечёшь свой мозг от постоянного прокручивание в голове принципа и механик работы своего говнокода, вернувшись к нему расплачешься кровавыми слезами из жопы /thread
😂
При этом самую макаронную кашу, как правило пишут олимпиадники, вот жеж парадокс)
@@okke00 потому что тебе необходим мощный мозг, чтобы написать совершенно неразгребаемую кучу говна
прослушал это все, понял что ничего из этого не использовал за год коммерческой разработки, максимум сравнивал два листа чтоб отсортировать первый по признаку второго. Бизнесу плевать на алгоритмы и выделения памяти. Им главное за спринт выкатить функционал.(надеюсь что когда нибудь буду использовать, а то жаль щнания которые получил в универе)
что кстати ещё понял по LeetCode:
был коллега который постоянно сидел решал литкод, он был менее опытен чем я, но при этом задачи щелкал как орешки, а я в рот шатал их. В итоге разница между нами:
я пишу более чистый и функциональный код в срок, успеваю написать документацию по проекту
он пишет огроменный код, которому можно было бы двумя строками ограничиться, функционал не допилен из-за дедлайнов и поиска правильного решения, а также другим программистам тяжелее читать его код.
я не говорю что CS не нужен. он как раз так и нужен. как и говорилось БАЗА
Вот ещё с первых уроков по математике, когда начали решать задачки я начала халтурить. Если я знала, какой будет ответ (подсматривала в конце учебника) , то решение просто придумывала. Не важно каким образом, лишь бы получить нужное значение. Сейчас в попытке решать задачи по разным языкам, иногда я начинаю также халтурить. Ужасная привычка
привет, а что учишь
@@malwarewoman привет, сейчас PHP
@World of Fear все было нормально, до начала функций. Хотя не знаю, застряла немного в решениях задач на степике. Пока просто смотрю и повторяю , вроде все легко
@World of Fear Очень верно подметили. Сначала изучала js, а до html/css, короче все для фронтенда, но в какой-то момент начало казаться, что в этом направлении невозможно устроиться на работу. Решила попробовать php, оказалось он ещё доволен востребованный и можно зная его легко устроиться на первую работу. Сейчас уже не понимаю, вакансии есть всякие и по разным скилам. Сложно понять от чего отталкиваться. В целом мне нравится что-то создавать и придумывать. Я готова в это вложиться по полной, придумываю сама дизайн, ищу картинки и тексты. Уже исходя из своего опыта и этих попыток постепенно подхожу к full-stack. Сложно, уныло и тяжело без поддержи, дисциплины. Но надо делать, создавать полезные и интересные вещи, которые в последствии будут радовать и мотивировать меня
@World of Fear к сожалению, никто не захотел инвестировать в мое образование. Оттуда и выбор в силу бесплатного самообучения. Хотя и тут наверное, не обязательно платить, важнее взять структуру и идти строго по плану. Вот вроде я все знаю, все понимаю, но на деле просто сижу и не знаю что делать
Понимаю процентов 5 из того что ты рассказываешь, но мне очень нравиться смотреть :))
Тип на китайском базарит 13 минут
Обычный map - красно-черное дерево. Unordered_map - хеш таблица. В штат я бы вас не взял)
Ну не душни
не надо копать так глубоко, если ты хочешь стать веб разработчиком такие вещи вообще не нужны. Новички не ведитесь на это, лучше учить node, php или go а дальше паттерны и фреймворки
я тебя тут ждал ;)
Согласен, но глубокое знание алгоритмов никогда не помешает, вообще широкий кругозор это круто. Я ни разу не решал литкод и в вебе за год работы вообще ни разу какие-то хитрые алгоритмы не использовал. Но базу 100% нужно знать, ту же O нотацию и поверхностно какие бывают структуры данных и как они реализованы. Без понимания этого не представляю как можно писать хороший код
На собеседовании в веб кстати спрашивали сложность алгоритмов над коллекциями. Например метода List.AddRange()
@@Салфетка-я9с почему "нужно"?
@@Hasan_vince Никто не знает чем ты будешь заниматься на работе. Например я очень много работаю с коллекциями - их туда сюда гоняю. Нужно всегда думать когда пишешь код про сложность и по памяти, и по времени. Если писать плохой код на продукте, на который большая нагрузка, то он будет жрать много ресурсов - а это деньги.
Может тебе нужно будет работать с бд. Они основаны на каких-то структурах данных, зная их, можно понять какая операция сколько стоит.
Под базой я имел ввиду поверхностное понимание алгоритмов и немного практики в этом. Типо какие есть сортировки, как они реализованы, какая у них сложность, виды алгоритмов (жадные алгоритмы, дин прог, эвристические) и тд. Мне кажется это мастхев знать
Эх, как хорошо жить в фуре. Крепкие руки, набор ключей и всё. Больше требований нет.
Потише тараторь пожалуйста. Некоторые слова вообще непонятны))
Отличный ролик, теперь больше понимания, спасибо большое)
быстро говоришь непонятно ничего
да ты бы ускорил, если бы медленно говорил
Быстрая речь, удобно слушать 🔥