Тёмный
omicron
omicron
omicron
Подписаться
Комментарии
@CAXAROK2010
@CAXAROK2010 9 дней назад
Сегодня написал бинарное дерево и его удаление через деструктор на плюсах)
@Gretanit
@Gretanit 15 дней назад
Классификация классификаций языков программирования
@rely_me
@rely_me 2 месяца назад
Нужна помощь с ускорением уже написанного кода. Из интересного: использую библиотеки cv2 и pytesseract
@user-zr8kb3rh2u
@user-zr8kb3rh2u 3 месяца назад
Бро выпускай новые видео
@whyyyyyyyyyyyyyyyyyyyyyyyyyyry
@whyyyyyyyyyyyyyyyyyyyyyyyyyyry 4 месяца назад
Нихуя не понял, но очень интересно. Особенно та часть где половина программистов говорит про принт с ковычками а другая про обстракции. А тебе всего навсего надо чтобы тебе вернули 5 в ' '
@Pepega230
@Pepega230 9 месяцев назад
Информативное видео без воды и по факту, побольше бы таких, но уже подробнее о каждой структуре данных
@lonson8475
@lonson8475 10 месяцев назад
Ну можно просто почитать и понять книгу "Грокаем алгоритмы".Там все эти алгоритмы есть и ещё множество других
@minimus91
@minimus91 11 месяцев назад
Из ролика ничего не понял, пришлось гуглить. Оказалось всё предельно просто, объяснение на стороннем ресурсе потребовало нескольких строк) Существует принцип KISS, так вот, автор, как мне кажется, ему не следует. Хотя не исключено, что я просто глуп) Слишком всё усложнено, проще, пожалуйста.
@omicron-IT
@omicron-IT 11 месяцев назад
Большинство паттернов и принципов противоречат KISS, но дают другие преимущества, часто перевешивающие незначительное усложнение кода
@ChrisNasredin
@ChrisNasredin 11 месяцев назад
Если нужны порядковые номера элементов коллекции, то полезно использовать функцию enumerate или в качестве аргумента range указать len коллекции) (4 кейс)
@ChrisNasredin
@ChrisNasredin 11 месяцев назад
Занимаюсь разработкой, как хобби, уже больше года, пишу проектики, читаю книги. Но вот натыкаюсь на такие видео - и для меня это просто какая-то китайская грамота. Что почитать про ООП на русском, чтобы понимать то, о чем говорит автор в видео? Я думал, что после второго тома Лутца я уже неплох в ООП, но, видимо, нет
@omicron-IT
@omicron-IT 11 месяцев назад
Можете начать с книги банды четырех и потом перейти к книгам Роберта Мартина
@ChrisNasredin
@ChrisNasredin 11 месяцев назад
@@omicron-IT Роберт Мартин на очереди, уже купил Чистую Архитектуру. Спасибо!
@minimus91
@minimus91 11 месяцев назад
@@omicron-IT Чёрт, подумал, автор советует прочесть Песнь льда и пламени, пока не вспомнил, что того Мартина зовут Джордж)
@Pepega230
@Pepega230 11 месяцев назад
Действительно хорошее видео, все по факту. Но хотелось бы увидеть примеры кода с такими инъекциями например в fastapi
@user-uy8rw4yw1t
@user-uy8rw4yw1t 11 месяцев назад
Ну вот и я о том же. В любом языке есть встроенные структуры данных и привязанные к ним алгоритмы - и этим надо уметь пользоваться. Если вы работаете в JetBrains и создаёте IDE, то этого будет мало. Но для обычного джуна или мидла веб или мобильного разработчика этого будет достаточно. Ну а когда вам предложат должность IT архитектора то тогда и начинайте изучать всю эту теорию, а до этого момента пользуйтесь готовыми решениями которые предоставлены вам стандартной библиотекой того языка с которым вы работаете
@minimus91
@minimus91 11 месяцев назад
Неа, не слышал, но смысл в этом есть. Правда, BDUF противоречит YAGNI. Хотя это могут быть две разные философии.
@vkosmylev
@vkosmylev 11 месяцев назад
Автор, уважай своего зрителя! ПРИБЛИЖАЙ или УВЕЛИЧИВАЙ ШРИФТ. Уверен, именно поэтому у тебя мало подписчиков и просмотров. не все, к сожалению с орлиной зоркостью, а тем более на смартфонах и планшетах. За полезность - 5+, а за неуважение к зрителю - (-1)
@user-uy8rw4yw1t
@user-uy8rw4yw1t 11 месяцев назад
Видео - хорошее, потому что короткое. Рекомендую автору продолжить делать видео на эту тему. 5- 10 минут - поисковые алгоритмы для разных структур данных. 5-10 минут - алгоритмы сортировки для разных структур данных. 5-10 минут - алгоритмы Delete - для разных структур данных. 5-10 минут - алгоритмы Update для разных структур данных. 5-10 минут - алгоритмы create insert для разных структур данных
@Lord_Nodus
@Lord_Nodus 11 месяцев назад
А ещё же есть классификация языков по типизации, статическая или динамическая, строгая или слабая, и по управлению памятью, полное управление как в C/C++, сборщик мусора (мне известны 2 вида, дерево ссылок как в java и C# или владение ссылкой как в Python) и Rust с системой владения
@omicron-IT
@omicron-IT 11 месяцев назад
Я затронул лишь основные отличия
@Pepega230
@Pepega230 11 месяцев назад
хорошее видео много не знал. особенно про комплексные числа удивили
@Pepega230
@Pepega230 Год назад
Приятное видео, видно как сильно вырос за 3 видео
@zametki_v_pereplete
@zametki_v_pereplete Год назад
А можете рассказать, какая может быть необходимость в знании алгоритмов поиска и сортировки, если есть встроенные функции питона по сортировке и поиска?..
@user-uy8rw4yw1t
@user-uy8rw4yw1t 11 месяцев назад
Для мидла и джуна эти все знания не нужны. Но для людей которые создают языки программирования - это всё знания важные и нужные. Солдату не нужно знать как координировать действия армий, но зато ему надо знать как окапываться и оказывать первую медицинскую помощь. А вот генералу эти знания нужны. Алгоритмы и структуры данных - это знания бесполезные для джунов и мидлов веб разработчиков, но необходимые базовые знания для генералов IT. Для тех кто создаёт среды разработки и новые языки или облачные сервисы. Я не понимаю человека который не способен сделать простое веб приложение и изучает алгоритмы и структуры данных. Научитесь сначала делать простые веб или мобильные приложения а потом закапывайтесь а этих бесполезных теориях. Но это видео хорошее - потому что короткое. Несколько сложных тем человек объяснил за семь минут. Браво!
@maxzaranik2359
@maxzaranik2359 11 месяцев назад
Это довольно узконаправленный алгоритм, иногда может потребоваться свой бинарный поиск по своей функции, и для этого желательно знать принцип его работы) а сортировка сам не знаю аха
@SergGin1
@SergGin1 Год назад
С примерами, картинками - вполне круто. Хотя классификаций по которым можно делить яп'ы куда побольше чем в видео, всё о чем тут говорится правда и по делу.
@genizada1862
@genizada1862 Год назад
Хорош
@user-ne4bd3ry1n
@user-ne4bd3ry1n Год назад
понятно, пайтон тормоз
@Lord_Nodus
@Lord_Nodus Год назад
В питоне list это динамический масссив, а не связный список. В коде питона удаление N элемента это не освобождение памяти и изменение укзателей, а memmove куска массива влево. Я точно не знаю, но numpy быстрее скорее всего потому, что в нём массив хранит данные (когда в итоне там хранятся ссылки на сами объекты), из-за этого доступ информации более быстрый и все функции для работы с массвом имеют меньше обстракций
@annaryabova3844
@annaryabova3844 Год назад
Алгоритмы все знакомые, но непонятно про формулу сложности и временных затрат алгоритма
@ilikegeorgiabutiveonlybeen6705
@ilikegeorgiabutiveonlybeen6705 11 месяцев назад
есть алгоритм есть входные данные алгоритм чёто делает над входными данными и получает результат рассмотрим алгоритм линейный поиск: есть массив чисел, надо найти в нём позицию какого-то числа из массива. алгоритм как выглядит: идём с начала массива, сравниваем число с искомым, при нахождении возвращаем индекс (завершаем алгоритм) макс сложность будет О(n) почему: макс сложность - худший случай, выполнится максимум действий. мы перебираем массив с начала, худший случай для нас, когда число в конце массива. алгоритм по всему массиву пройдёт и только потом вернёт последний индекс. причём итераций в алгоритме будет n. пусть будет бинарный поиск. опять массив с числами, но уже отсортированный (пусть будет по возрастанию) алгоритм: берём два индекса: 0 и n (левый и правый соотв.), делим массив пополам. если число меньше, чем число в середине, берём левую часть массива, иначе правую. потом то же действие проделываем с выбранной половиной пока не найдём число (пока часть массива, которую мы делили постоянно пополам, не станет длины 1). возвращаем индекс завершаем алгоритм. сложность такого алгоритма: log 2 (n) (точно не скажу, потому что действий целое число а логарифм надо будет округлять, в какую сторону - не знаю). почему: постоянно массив делим на 2 части. тут в тему загадка про арбуз: на сколько частей можно его поделить за 10 разрезов? ответ 1024. вот мы также массив делим как арбуз. худший случай (простите выделить не могу)
@ilikegeorgiabutiveonlybeen6705
@ilikegeorgiabutiveonlybeen6705 11 месяцев назад
ой
@user-mo7ge4cw3x
@user-mo7ge4cw3x Год назад
идеальное решение говорит нам о том что питон для программирования не годиться! в помойку его!
@user-xy5eq1ej2g
@user-xy5eq1ej2g Год назад
Никак не могу представить, какой должна быть структура - graph для запуска алгоритма Дейкстры?
@omicron-IT
@omicron-IT Год назад
Матрица смежности
@user-xy5eq1ej2g
@user-xy5eq1ej2g Год назад
@@omicron-IT Спасибо, omicron-IT. Я еще только изучаю Python, поэтому буду разбираться. Если что не пойму, может спрошу еще ...
@antondopira5957
@antondopira5957 10 месяцев назад
если мне память не изменяет, то дейкстра не работает с отрицательными значениями, вернее некорректно. Но если больно надо, например расчет расстояния на декартовой плоскости, то это уже другой алгоритм, точно не вспомню какой, но дейкстра покажется детской забавой
@maxzaranik2359
@maxzaranik2359 Год назад
Знаю все)
@alexyerin3475
@alexyerin3475 Год назад
Не знаю этих алгоритмов, пойду попрошу меня сегодня уволить...
@Vlad2030
@Vlad2030 Год назад
в некоторых случаях можно попробовать исправить на отрицательные условия без добавления классов
@Vlad2030
@Vlad2030 Год назад
я не согласен с тем что каждому программисту нужно знать алгоритмы. только если вы хотите работать в яндексе, то тогда пригодятся
@user-uy8rw4yw1t
@user-uy8rw4yw1t 11 месяцев назад
Джуну и мидлу алгоритмы и структуры данных не нужны. Но нужно уметь пользоваться теми которые встроены в его язык, на котором он программирует. Я работаю с Котлин. Там есть List, Map и Set. По умолчанию они неизменяемы, но если добавить слово Mutable то они изменяемы. К каждой этой коллекции имеется много встроенных алгоритмов. Мне для моей работы этого хватает. Но для того чтобы создать язык программирования Kotlin - этих знаний бы не хватило
@Vlad2030
@Vlad2030 11 месяцев назад
@@user-uy8rw4yw1t а ты в какой сфере котлин используешь? под мобайл?
@romanlebedev9264
@romanlebedev9264 Год назад
Плагиат🌚
@omicron-IT
@omicron-IT Год назад
Чем же?
@user-rx1gl1om6m
@user-rx1gl1om6m Год назад
Давайте ссылку на оригинал
@minimus91
@minimus91 Год назад
Полезный набор. Алгоритмы сортировки знать не обязательно, в библиотеке каждого языка уже есть своя реализация. Но знать какие существуют варианты сортировки может пригодиться.
@user-dq6rk6fl7f
@user-dq6rk6fl7f Год назад
Давай еще сортировку слиянием
@InfoVideoCenter
@InfoVideoCenter Год назад
Увеличь шрифт в IDE, не все видно, размывается. Для видео надо от 16 шрифта минимум. А представь кто то с смартфона еще смотрит, а не я как с ноута с фулл шд.
@omicron-IT
@omicron-IT Год назад
Спасибо, учту
@sky_library_for_novels
@sky_library_for_novels Год назад
Я в смартфоне могу увеличить зум
@Pepega230
@Pepega230 Год назад
Не помешало бы
@user-uy8rw4yw1t
@user-uy8rw4yw1t 11 месяцев назад
Я смотрю в смартфоне. Качество - отличное
@barbarianick
@barbarianick Год назад
Спасибо. Не знал ни одного 😂. Но объяснено доходчиво.
@Pepega230
@Pepega230 Год назад
хорошее легкое видео. жаль что непопулярное, побольше бы таких легких видео о сложных вещах, чтобы можно было все тонкости уже самому изучить, надеюсь автор не остановится
@LithiumDeuteride-6
@LithiumDeuteride-6 Год назад
Переписать код на нормальные ЯП, например С/С++ или даже ассемблер, но ассемблер высокоуровневый типа UASM
@evilkite6816
@evilkite6816 Год назад
Зачем нам нумба если она работает через декоратор (python) если сразу можно использовать numpy с их C реплизацией работы с массивами.
@omicron-IT
@omicron-IT Год назад
Декоратор - это интерфейс numba для взаимодействия с python. Часть numba же написана на C и C++ У numpy же всё идёт точно также. Часть написана на python, часть - на C и C++ и других языках
@Pepega230
@Pepega230 Год назад
@@omicron-IT зачем таким людям отвечать, пускай в python beginners идут
@evilkite6816
@evilkite6816 Год назад
@@omicron-IT И....? Всеравно python code который потом вызывает нумба функцию (возможно врапер над eval или собственный парсер python для кода python для оптимизации...... ) Всеравно - как врапер + врапер может быть быстрее прямого интерфейса для numpy (C интерфейса) ?
@evilkite6816
@evilkite6816 Год назад
@@Pepega230 боты - это круто 😊
@Pepega230
@Pepega230 Год назад
@@evilkite6816 что? причём тут боты
@pashamorozov8257
@pashamorozov8257 Год назад
Спасибо за материал. Про кеш не знал
@user-gd9mm5dd8s
@user-gd9mm5dd8s Год назад
Ускорить то его можно, вот только не везде и не всегда. И годится он в основном только для нейронок (и то, там почти все библиотеки написаны на С, без С питон ничто), для автоматизации чего либо и всё. Бэкенд я бы на нём в 2023 делать не стал, для это есть GО, или Node.js, или даже C#. Вообще не понимаю из-за чего этот язык стал таким популярным? Это как с модой в области одежды - придумал однажды кто-то носить брюки клёш и весь мир с ума сошёл, все надели на себя это уродство с широченными штанинами-колоколами. А позже все одумались и выбросили это недоразумение. Не хочу сказать, что питон это недоразумение, но хайп вокруг него сильно раздут и его тащат везде куда не следует - пишут на нём GUI после чего даже мощные компьютеры тормозят (то же самое и с JS и его ублюдочным электроном), создают на питоне мобильные приложения на мерзком Kivy, даже игры пытаются делать. А питон совсем не про это - он как клей для склеивания разных модулей написанных на С и С++, для простеньких скриптов - вот тут он очень удобен. А уж обучать на нём программированию это вообще бред. Скриптовой язык с динамической типизацией. И куда мир катится?
@omicron-IT
@omicron-IT Год назад
Спасибо за Ваше мнение
@Pepega230
@Pepega230 Год назад
Не вижу ни 1 объективного аргумента, заменить в твоём спиче python на условный (!) java (ничего против не имею) и будет такой же текст. Куда мир катиться, когда люди буквально уверовали в то, что python плохой и не могу объяснить почему. А сравнивать I/O-bound-ориентированный язык с CPU - смешно, как и ограничивать себя в технологиях: "без С питон ничто". Против С и С++ ничего не имею, сам на них пишу динамические библиотеки для распределения ресурсозатратной нагрузки с питона на них
@tobiuchiha4754
@tobiuchiha4754 Год назад
Он всем нравится потому что удобен. Легко читается, легко понимается, все лаконично, логично. Читаешь код c++ и охуеваешь. Тот же java. Все эти языки нужно жечь и создать с 0.
@rely_me
@rely_me 2 месяца назад
​@@Pepega230нужна помощь)))
@user-xg4pd7en9d
@user-xg4pd7en9d Год назад
Спасибо за ролик! У меня вопрос: а с pandas как это применять при группировке строк, добавлении столбцов, создании сводных таблиц?
@omicron-IT
@omicron-IT Год назад
Если Вы про numba, то никак. Она несовместима с pandas
@_Romanin_
@_Romanin_ Год назад
Всё это прекрасно, но скажу лишь одно в реальных проектах, мало где можно использовать Numba. Это может пригодиться для работы с музыкой так как там нужна быстрая работа с массивом чисел. При работе с нейросетями можно использовать, но не везде. Вещь хорошая, но узкоспециализированная.
@omicron-IT
@omicron-IT Год назад
Пожалуй, это так. В реальных проектах сам ни разу не использовал numba
@user-kf4pk9kk9h
@user-kf4pk9kk9h Год назад
Спасибо, интересно рассказываете. Всё никак не пойму, зачем люди в образовательное видео вставляют фоновую музыку. Зрители же не для развлечения такое смотрят, а для получения полезной информации. На мой взгляд в таком случае музыка только отвлекает, а слишком громкая тем более.
@omicron-IT
@omicron-IT Год назад
Спасибо за замечание. В следующий раз сделаю музыку тише
@user-bc5lj6jy6e
@user-bc5lj6jy6e Год назад
Вполне неплохо рассказываешь, голос хорошо поставлен) С любопытством жду чего нибуть нового.
@damirsob6176
@damirsob6176 Год назад
В начале видео код С++ написан явно не очень хорошо. Во-первых, зачем создавать константу и массив, потом заполнять этот массив, в цикле, который выполняется 150000 раз? К тому же, лучше создавать массив таких размеров не на стеке, а на куче, можно заюзать vector (он там сверху даже подключен :). Дальше, в условии третьего по счету цикла: i < std::sqrt(n) -> сравнивать так int с double это смело, конечно, кроме того, вычислять заново этот самый корень для каждой итерации для одного и того же числа - бессмысленно (это будет оптимизировано msvc, но все же, это плохой тон). Ну и зачем юзать printf, если это С++, где std::cout? Зачем юзать С-шный каст типа, почему бы не использовать static_cast? Не нужно измерять время выполнения программы таким образом. Кстати, опять же, это точно С++? Если да, то почему <time.h>, если есть <chrono>?). Вообще лучше скомпилировать программу (или сбилдить проект через ту же вижлу), зайти в powershell и использовать утилиту Measure-Command, чтобы измерить время выполнения нормально.
@omicron-IT
@omicron-IT Год назад
К сожалению, я плохо знаком с с++
@damirsob6176
@damirsob6176 Год назад
@@omicron-IT Все ок, это не меняет сути видео, в остальном - все круто )
@romanlebedev9264
@romanlebedev9264 Год назад
К сожалению, ты и ролик свой не смог сделать, а тупо слизал
@Pepega230
@Pepega230 Год назад
@@romanlebedev9264 Что за неоправданная агрессия?
@user-xc2gu5jg9n
@user-xc2gu5jg9n Год назад
Мне почему-то кажется, что если твой код на пайтон работает недостаточно быстро - стоит вернуться в самое начало разработки и признать, что ты выбрал не тот язык программирования. Пайтон нужен не для скорости работы программы, а для того, чтобы максимально быстро написать то, что будет работать.
@omicron-IT
@omicron-IT Год назад
Спасибо, но в следующий раз досмотрите видео до конца, прежде чем писать подобный комментарий
@user-xc2gu5jg9n
@user-xc2gu5jg9n Год назад
@@omicron-IT Да я не ваше видео критикую. Вы-то как раз правильно все сказали. Мне в целом не понятна концепция ускорения пайтона. То-бишь, ускорение его сверх того, что дает знание стандартных алгоритмов. Тот же pypy или наличие классических массивов в пайтоне выглядит странно как по мне. Везде объекты, а тут вдруг классический массив...
@Pepega230
@Pepega230 Год назад
По моему, менять ЯП слишком радикально, когда уже написанный (!) код можно и немного ускорить сверх базовых алгоритмов
@user-uh2rs8fi8b
@user-uh2rs8fi8b Год назад
Пригодится. Спасибо
@andersg7252
@andersg7252 Год назад
Спасибо за видео. Начал активно учить пайтон месяц назад. Теперь, помимо всего прочего, дополнительно стало понятно одно из предназначений декораторов, почему они так удобны
@mixdenis8878
@mixdenis8878 Год назад
Полезное видео, но мало зрителей
@Pepega230
@Pepega230 Год назад
Очень информативное видео! Буду ждать развития канала :)
@zhorabulkin228
@zhorabulkin228 Год назад
Хорошее видео!!