Ошибка не использовать эти структуры данных

Поділитися
Вставка
  • Опубліковано 2 чер 2024
  • Попробовать PVS-Studio бесплатно:
    pvs-studio.com/pvs_ssv
    UA-cam канал: / pvsstudio_channel
    Доступ к плюшкам:
    / @seniorsoftwarevlogger
    Телеграм: t.me/seniorsoftwarevlogger
    Инстаграм: / seniorsoftwarevlogger
    0:00 Структуры данных, которые нужно знать
    0:20 Статический анализ кода от PVS Studio
    02:12 Деревья, Tries, Ternary trees
    03:03 Двусвязный список
    04:09 Кольцевой буфер. Circular Buffer
    05:29 Вероятностные структуры данных
    05:55 Фильтр Блума
    07:44 HyperLogLog
    Senior Software Vlogger - канал о жизни людей в айти и интересных фактах. Написание кода, интервью с программистами, переезд на ПМЖ в другие страны, лайфхаки профессии.
    #программирование #ityoutubersru

КОМЕНТАРІ • 177

  • @SeniorSoftwareVlogger
    @SeniorSoftwareVlogger  2 роки тому +3

    То что не вошло в видео и другие полезные ссылки t.me/seniorsoftwarevlogger/831

    • @NoldoWalker
      @NoldoWalker 2 роки тому

      О, знаю откуда этот пончик на майке.

  • @maestro256
    @maestro256 2 роки тому +18

    Нужные структуры данных:
    Списки
    Массивы
    Очередь
    Приоритетная очередь (куча/heap)
    Хэш-таблица (не путать с хэшмапой из джавы)
    Деревья: хотя бы бинарное и btree
    Графы - опционально
    Хорошо бы знать сложность операций поиска/добавления/удаления из этих структур
    Не все из них понадобится рука и использовать, а уж тем более реализовывать. Но это понадобится чтобы понимать как работают технологии. Те же индексы в базе данных, структуры в Kafka или Redis

  • @cavesalamander6308
    @cavesalamander6308 2 роки тому +11

    В старину был где-то юмористический список того, что делает вас настоящим программистом. Среди таких вещей, как умение на память набрать двоичный код операционной системы тумблерами на передней панели ЭВМ, значилось также, что настоящий программист считает единственно полезной структурой данных одномерный массив. 🙂

    • @alexshkut
      @alexshkut 2 роки тому

      Я вот тут пол-ролика просмотрел, и подумал: "Этот человек скорее всего бэкендщик на Java", ибо специфичность изложения и терминология выдает специализацию. Программирование не имеет ничего общего с Интернетом. Программирование - это научить дрон "летать и не падать" ). А отвтеил потому, что лайк поставил.

  • @eugenstakhursky9604
    @eugenstakhursky9604 2 роки тому +5

    Интересно, спасибо

  • @iharkarpekin9333
    @iharkarpekin9333 2 роки тому +1

    Отличный ролик, нужно больше подобного контента по структурам и алгоритмам с примерами)

  • @codingfox
    @codingfox 2 роки тому +28

    Давай такой же формат про алгоритмы ;)

  • @AlienGodDog
    @AlienGodDog 2 роки тому +6

    Классное видео, надеюсь будут еще выпуски с углубленным погружением в некоторые их структур данных. И как насчет такого же видео об Алгоритмах? Спасибо!

  • @eugenstakhursky9604
    @eugenstakhursky9604 2 роки тому +2

    Посмотрел до конца, лайк поставил)

  • @gijduvon6379
    @gijduvon6379 2 роки тому +1

    Огонь! Нужно развить тему! Больше таких видео и в идеале чуть более подробно!
    Я про фильтр Блума узнал когда читал как работают базы данных на LSM-tree.

  • @rento4403
    @rento4403 2 роки тому +62

    Братан хорош!!! Давай вперед!! Контент в кайф. Можно еще? Вообще красавчик! Можно вот этого почаще.

    • @SeniorSoftwareVlogger
      @SeniorSoftwareVlogger  2 роки тому +14

      Ахаха 🤣

    • @brr3534
      @brr3534 2 роки тому +5

      Авераге экстримкоде энжойнер

    • @VoidObj
      @VoidObj 2 роки тому +1

      экстримкод, разлогинься )

  • @sergey1727
    @sergey1727 2 роки тому +2

    самое понятное обьяснение фильтра блума, сколько раз читал описание относительно биткоина и только сейчас понял!

  • @user-ex1ks2xk5m
    @user-ex1ks2xk5m 2 роки тому +7

    ... для программного инженера знание алгоритмов их вариантов и разновидностей обязательно, а для простого кодера, возможно и не обязательно ... всё зависит от того, какое место вы занимаете в процессе создания программного продукта.

  • @dmitriyps22
    @dmitriyps22 10 місяців тому

    О, это сразу подписка

  • @bass1387
    @bass1387 2 роки тому

    Спасибо за пример реализации двухсвязанного списка))

  • @macmyem9527
    @macmyem9527 2 роки тому

    Какие-то умные слова и даже их значения я знаю и как оказывается применяю, о каких-то впервые слышу.
    Что-то полезное есть, спасибо!)

  • @i.reutenko
    @i.reutenko 2 роки тому

    Отличный формат для тех кто не знает с чего начать гуглить

  • @edmond-dantes-1796
    @edmond-dantes-1796 2 роки тому +1

    Вторая часть будет?)
    Получилось интересно и познавательно

  • @virabhadra2
    @virabhadra2 2 роки тому

    Спасибо за видео!
    Я бы так сказал, знание ряда популярных структур и алгоритмов, это страховка от траты времени на изобретение велосипеда програмистом. Тем более что для чего-то популярного может быть и аппаратная поддержка (могу ошибаться)

  • @ionware
    @ionware 2 роки тому

    Красавчик, аж пойти корки получить по предмету захотелось

  • @user-yr5mp1dv4m
    @user-yr5mp1dv4m 2 роки тому +1

    Спустя 20 секунд лайк поставил)

  • @ne0nf0rce
    @ne0nf0rce 2 роки тому +2

    Вообще не знаю асд, нас этому не учили. Спасибо за видео!

  • @huget00n
    @huget00n 2 роки тому

    на "пересечении" графов и деревьев, есть ориентированные ациклические графы (DAG), удобны для работы с классифицкаторами

  • @llBARSll
    @llBARSll 2 роки тому +16

    ExtremeCode пересмотрел что ли?)

    • @SeniorSoftwareVlogger
      @SeniorSoftwareVlogger  2 роки тому +13

      Они просто раньше меня выпустили. Может теперь получится дрифтануть под их видео.

  • @denysserhieiev8378
    @denysserhieiev8378 2 роки тому

    Возбудитель любопытства!

  • @radlimon2466
    @radlimon2466 2 роки тому

    Приблизительно на 1:00 понял, что в ролике главное))

  • @sanjsad2375
    @sanjsad2375 2 роки тому

    А можно расширить и углубит?
    А так де узнать про взаимосвязь структур данных и протоколов передачи данных или способов поиска?

  • @alexanderaphonin7850
    @alexanderaphonin7850 Рік тому

    У нас в проекте circullar buffer юзается для генерации uncompressible данных для перф нагрузки хранилищ

  • @Anonim-im6ln
    @Anonim-im6ln 2 роки тому

    Дякую!)

  • @dlearn863
    @dlearn863 2 роки тому +14

    Смешно слышать "алгоритмы и структуры данных полезны", потому что программирование это как раз ДАННЫЕ и АЛГОРИТМЫ. Это даже не основы, это два столпа, сама суть программирования, на котором стоит кодинг любого уровня вплоть до устройства микропроцессора. Всё в программировании это данные и все действия при работе с ними - это алгоритмы. Все программисты работают с данными, используя алгоритмы. А знать их нужно для того, чтобы не изобретать велосипед, а использовать уже проверенные, продуманные и отлаженные механизмы. Чтобы повышать свою компетенцию и мастерство.

  • @Bu1at
    @Bu1at 2 роки тому

    Хороший формат, анонсировать алгоритмы, а те кому интересно смогут уже сами найти детали!

    • @vitgo
      @vitgo 2 роки тому

      скорее наоборот - абсолютно бесполезный формат... кинул пальцы ничего не показав и не рассказав, названия аылетают через 5 минут после просмотра видео... так что просто понты и реклама, и ничего больше... цель просто заманить на какие нить платные уроки, не более

    • @user-uvk
      @user-uvk 2 роки тому

      @@vitgo а посмотреть в описание к видео и найти там названия для поиска сил не хватило?

  • @spacestar4047
    @spacestar4047 2 роки тому +2

    *Привет Дим,спасибо за полезный контент!*
    *Дим,сними пожалуйста еще одно видео про продуктивное рабочее место,так как наверняка за это время что-то изменилось)*
    *Сделай краткий обзор+совет с лайфхаками)*

  • @kriptossavant8797
    @kriptossavant8797 2 роки тому +14

    Вообще правильно начинать любое описание с назначения. Очень интересно смотреть историю развития чего-либо - это лучше всего позволяет понимать зачем создавалась та или иная технология. Соответственно лучше понять где её лучше применять в своей практики и в чем её недостатки. И да, мне кажется, что нередко программисты считают, что все пользователи имеют самые последние образцы техники в самой топовой комплектации. :)

    • @101picofarad
      @101picofarad 2 роки тому

      Да Вы что! Если начать сразу с сути структуры данных, то магия пропадет ;)
      Ускорение статистики по специальному типу в сравнении с обычным тупо обусловлено тем, что в нем данные лежат в очень удобном виде для данной операции, т.е. предварительно подготовлены.

  • @user-cx4nj6io8x
    @user-cx4nj6io8x 2 роки тому +1

    Ничего не понятно)) но очень интересно)) Не вижу схемы данных и картинки для визуального понимания что имеется ввиду, как будто статью из википедии озвучивают) Но зато есть список структур данных по которым можно смотреть информацию и изучать) поэтому спасибо за ролик!)

  • @findajob2893
    @findajob2893 7 місяців тому

    Алгоритмы знать обязательно, если хочешь проходить собесы)

  • @froststorm77
    @froststorm77 2 роки тому +1

    Отлично, упоминание без применения в примерах, "-Вот представьте как скачут шарообразные кони в вакууме"

    • @SeniorSoftwareVlogger
      @SeniorSoftwareVlogger  2 роки тому

      К каждому алгоритму был пример. Слушал фоном?

    • @froststorm77
      @froststorm77 2 роки тому

      @@SeniorSoftwareVlogger Я имел ввиду пример кода питон, js , хотя бы псевдокод, а так это ну совсем сфрические кони в вакууме.

    • @lolphdundgren4328
      @lolphdundgren4328 2 роки тому +1

      @@froststorm77 А еще примеры на Delphi, C, отдельно C++, и на кондовом Паскале эпохи Вирта. В том и фишка, что примеры на ЯП для элементарных структур данных и нафиг не нужны - они пишутся на раз-два самостоятельно. Главное - идея.

    • @froststorm77
      @froststorm77 2 роки тому

      @@lolphdundgren4328 бляааааа , собственно чего я ожидал от людей, разума и помощи , хер там плавал, говна на палке получи, это суровый мир и все срут на тебя и раздувая собственное эго. Я даже за то что бы сценарий "не смотри вверх" осуществился. Нах ебаное ИТ с их его перераздутыми эгоманьяками....

  • @Blowjin
    @Blowjin 2 роки тому +1

    У Котопса недавно был выпуск про структуры данных. Того и гляди, неплохое образование на ютабчике получу! :-)

  • @TimurShemsedinov
    @TimurShemsedinov 2 роки тому +150

    Чувак, ты перепутал циклический буфер с циклическим списком, все примеры на циклический буфер можно считать хорошими примерами для циклического списка, а вот для циклического буфера примеры: обработка и кодирование видео и звука, когда лучше потерять немного данных, чем добавить задержку в стриминг или выжрать всю память, еще задачи сбора и отправка данных с датчиков и встроенных систем, у них памяти совсем мало и часто перетирают циклически поверх, ну и всякий финтех и биржи, где данные торгов устаревают и можно циклически переписывать их, в общем, ты уловил смысл, юзвейсов много. Странно услышать про тернарные деревья среди нужных структур, без упоминания о бинарных, а ведь именно они, а не иерархические структуры, и уж тем более не редкие тернарные, используются повсеместно и ускоряют и задачи поиска с разбиением пополам, организацию кучи (heap), сортировок, индексирование и т.д.

    • @user-lj6it6kk1x
      @user-lj6it6kk1x 2 роки тому

      А на вот эти вероятностные структуры данных есть адекватные кейсы?

    • @allll1100
      @allll1100 2 роки тому

      Интересная мысль а ты уверен что прав?

    • @RomanSokolov88
      @RomanSokolov88 2 роки тому +30

      @@allll1100 Если Тимур неправ, то что-то в этом мире сломалось

    • @gijduvon6379
      @gijduvon6379 2 роки тому +3

      Ух ты, а ты умный по ходу. Сколько зарабатываешь?

    • @JollyKinder
      @JollyKinder 2 роки тому

      Подскажите, есть ли в стандартной библиотеке C++ циклический список или циклический буфер?

  • @uniquenickname
    @uniquenickname 2 роки тому +9

    Спасибо) Ещё бы практический урок с примерами, было бы идеально

  • @jaso5807
    @jaso5807 2 роки тому

    на 7:50 - множество по определению содержит только уникальные значения. Тут надо разобраться с терминами

  • @VoyagerVR
    @VoyagerVR 2 роки тому +1

    Хорошее видео. Не хватает примеров кода.

  • @avazart614
    @avazart614 2 роки тому +2

    Наконец хоть немного образовательный контент!

    • @SeniorSoftwareVlogger
      @SeniorSoftwareVlogger  2 роки тому +2

      Ты все это время верил в меня?

    • @avazart614
      @avazart614 2 роки тому

      @@SeniorSoftwareVlogger То IT-бороду тестниш интервью тепер видимо пришло время Соера с его полуобразовательными видео ...

  • @codemaker7027
    @codemaker7027 2 роки тому

    Почему-то прочитав заголовок видео сразу понял что будет речь про Фильтр Блума и HyperLogLog.

  • @luferov
    @luferov 2 роки тому

    Какой монитор на столе?

  • @alexbocharowru
    @alexbocharowru 2 роки тому

    А последний выпуск куда делся? Посмотреть не успелось даже

  • @_wozgard
    @_wozgard 2 роки тому

    Спасибо) Классный выпуск. Я новичок в программировании и благодаря этому ролику решил познакомиться с самыми полезными структурами данных

  • @flitch4337
    @flitch4337 2 роки тому +7

    Структуры данных и алгоритмы - это база, это надо знать

    • @mwave3388
      @mwave3388 Рік тому

      Это не база, это так...

  • @user-qx5fm7oo2r
    @user-qx5fm7oo2r 2 роки тому +1

    👍

  • @siarheitereta8621
    @siarheitereta8621 2 роки тому +2

    Надо читать Кнута, Дейкстру, Хоора, Вирта

  • @user-vg7ly1gy2k
    @user-vg7ly1gy2k 2 роки тому

    Странно не сказать про бд и их индексирование при рассказе о фильтре Блума

  • @user-sm7kq4ll8l
    @user-sm7kq4ll8l 2 роки тому

    Не понял ремарку про "настоящих" программистов на 4:19. Что имеется в виду под настоящими программистами?

    • @SeniorSoftwareVlogger
      @SeniorSoftwareVlogger  2 роки тому

      Табличка "сарказм"

    • @FyUajYpUlM39
      @FyUajYpUlM39 2 роки тому

      Программные инженеры, работающие на более низких уровнях, создающие саму возможность для говнокодинга этажом выше.

  • @antonrrtyq
    @antonrrtyq 2 роки тому +1

    а можно поподробнее про структуры и чмо структуры пожалуйста?

  • @DAROM-TK
    @DAROM-TK 2 роки тому

    То, что есть алгоритмы я понимаю, примеры тоже услышал.
    Но вот как все это применяется...
    Ничего не понял.
    Вот я новичок, для общего развития делал игру преферанс.
    Разыгрывающий ходит с козырного туза.
    Вистующему боту надо свои 10 карт рассортировать по мастям и старшинству, определиться, есть ли козыри, сходить самым мелким козырем, если есть, если нет, сбросить самую ненужную карту.
    Так какой алгоритм использовать для бота, чтобы он нашел самую ненужную карту?
    Какую библиотеку юзать, если я делаю это на node js?
    Я конечно сделал по своему разумению, но никаких мыслей насчет использования алгоритмов у меня не возникло чего то.

  • @user-ur4ev7vl6c
    @user-ur4ev7vl6c Рік тому

    HyperLogLog нужна при создании своей БД

  • @alexandroskolkov2231
    @alexandroskolkov2231 2 роки тому +1

    с тех пор как я фигачил на ассемблере в текстовом редакторе и дебажил турбодебагером прошло прям дофига времени :) я уже сильно давно не кожу, но думаю что это надо знать чтобы писать проги, а не говнопроги. сейчас вообще похоже никто особо не заморачивается в некрупных проектах - сляпали, работает и гуд. раньше за каждый байт боролись, а теперь шутка про 32 гига и хром уже не шутка блин :( вообще первые проги на асме я писал сначала на бумажке, потом переводил в хекс при помощи таблиц и долбил в редакторе в файл (когда не было компилятора), вот там был гемор :) короче, кодеры, учите алгоритмы и данные чтобы не было вам стыдно за ваши проги. бабки за проект получить это одно, а чтобы ночами еще не икалось...

  • @Andrew-7324
    @Andrew-7324 2 роки тому

    В мобильном приложении обычно количество элементов небольшое, из-за этого нет особого повода изучать алгоритмы, а жаль

  • @janedoe6182
    @janedoe6182 2 роки тому +3

    Настолько полезные структуры данных, что их почти никто не знает...

    • @lolphdundgren4328
      @lolphdundgren4328 2 роки тому

      Это лишь показывает качество современного образования... и самообразования программистов.

    • @janedoe6182
      @janedoe6182 2 роки тому +3

      @@lolphdundgren4328 Вот то ли дело были программисты во времена Пушкина и Достоевского... Все структуры и алгоритмы знали наизусть.

  • @Dmittry
    @Dmittry 2 роки тому

    Погоди, а где стек и очередь?

  • @detnhyiiika6759
    @detnhyiiika6759 2 роки тому

    4:04 - АХАХАХАХАХА. НЕТ!!! 😐

  • @user-yd9xy3rb4x
    @user-yd9xy3rb4x Місяць тому

    Ну undo это паттерн команда больше как по мне

  • @igorzorin8566
    @igorzorin8566 2 роки тому +2

    "Настоящие программисты"

    • @SeniorSoftwareVlogger
      @SeniorSoftwareVlogger  2 роки тому +1

      🌚 сарказм

    • @igorzorin8566
      @igorzorin8566 2 роки тому

      @@SeniorSoftwareVlogger воображаемые программисты))

    • @avazart614
      @avazart614 2 роки тому +3

      @@SeniorSoftwareVlogger Напомнило: "Заходит как то в бар Хауди Хо, Гоша Дударь и настоящий программист ... "

  • @ishtopor
    @ishtopor 2 роки тому

    эммм... как-то на подкорке уже, что кеш = weak reference...

  • @1anrus
    @1anrus 2 роки тому

    В каком месте блум фильтр может реально пригодиться, с учетом того что он не дает 100% результат, но дает скорость.

    • @SeniorSoftwareVlogger
      @SeniorSoftwareVlogger  2 роки тому +1

      Я же рассказал пример

    • @MrRagday
      @MrRagday 2 роки тому +1

      обработка запросов в гугле?

  • @ilyushka21st
    @ilyushka21st 2 роки тому

    А где же кучи?

  • @vladimir0rus
    @vladimir0rus 2 роки тому +2

    Кольцевой буфер на связанном списке это так себе решение в плане экономии памяти.
    Вообще нормальный кольцевой буфер это простой массив.

    • @FyUajYpUlM39
      @FyUajYpUlM39 2 роки тому

      Почему?

    • @vladimir0rus
      @vladimir0rus 2 роки тому +2

      @@FyUajYpUlM39 потому что у списка оверхед в виде указателей и список подразумевает аллокацию памяти под каждый элемент (опять оверхед), в то время как идея кольцевого буфера - иметь заранее определенный объем памяти и просто перезаписывать старые данные. Ну и двигаться по списку гораздо менее эффективно чем по массиву, т.е.е массив еще и быстрее будет. Циклический связный список может и годится для каких то высокоуровневых целей типа Undo/Redo, но как кольцевой буфер для записи поточных данных малопригоден.

  • @Inkerman5000
    @Inkerman5000 2 роки тому

    Самое полезное видео за мой шестимесячный опыт обучения программированию

  • @macmyem9527
    @macmyem9527 2 роки тому +1

    2:08 - у меня ничего в углу не появилось(

    • @SeniorSoftwareVlogger
      @SeniorSoftwareVlogger  2 роки тому

      ua-cam.com/video/9_g1T5SmUFM/v-deo.html

    • @macmyem9527
      @macmyem9527 2 роки тому

      @@SeniorSoftwareVlogger спасибо, а что все таки за подсказки, почему на не появляются? Сижу с обычного ПК, с хрома

  • @user-yd9xy3rb4x
    @user-yd9xy3rb4x Рік тому

    Я один просто люблю алгоритмы. Мне надо было быть разрабом драйверов а не iOS

  • @user-ul5ic2rw5h
    @user-ul5ic2rw5h 2 роки тому +1

    0:14 Пока не существует универсальной теории алгоритмов, знать их всем на свете абсолютно не обязательно. На текущий момент в программировании имеется раздел типовой алгоритмизации, где собрана коллекция популярных часто встречающихся классов программистских и математических задач типа сортировка, поиск, задача коммивояжёра и всякое такое. В программистских книжках по алгоритмам нет универсальной теории, которая даёт общий подход к любому прикладному алгоритму.

  • @aerahtv0000
    @aerahtv0000 2 роки тому

    ну просто в javascript оно и нафиг не нужон, алгоритм этот ваш ))
    а вот, к примеру, в c++ без алгоритмов вообще никуда, если хочешь нормально оптимизировать требовательный софт.
    Нужно знать где какие алгоритмы или структуры данных применять.

  • @sergsavin6486
    @sergsavin6486 2 роки тому +11

    может быть, когда-нибудь, мы вернемся в тот мир, где сеньоры были не просто мидлами с подвешенным языком, а реально что-то знали о мире айти.. спасибо за еще один маленький шаг в эту сторону

    • @OlegGoritsyn
      @OlegGoritsyn 2 роки тому +1

      а так до сих пор и есть, просто в компаниях, которые могут себе это позволить.

  • @kherelable
    @kherelable 2 роки тому

    Я тоже такую лампу купил после того как ее теклид рекламировал... ахахахаха

    • @SeniorSoftwareVlogger
      @SeniorSoftwareVlogger  2 роки тому

      Мне прислали для обзора на другом канале

  • @eugenenovikov671
    @eugenenovikov671 2 роки тому +1

    У меня было 5000 вкладок в хроме и недавно у меня сгорел жёсткий, что в биосе его нет. Сначала он оч медленно стал работать, а потом 3.14зда. Кто знает где в Москве могут оживить напишите плиз и Диме - Дима, не открывай вкладки в хроме!

  • @SergeiCherkai
    @SergeiCherkai 2 роки тому

    32 мало
    128 самое то

  • @mypointis
    @mypointis 2 роки тому

    Слишком поверхностно

    • @SeniorSoftwareVlogger
      @SeniorSoftwareVlogger  2 роки тому

      Что бы ты хотел увидеть помимо того, что теперь можешь загуглить за 5 минут?

  • @serhiis_
    @serhiis_ 2 роки тому

    Не гуд писать логи во время креша. Особенно весь файл целиком как в видео говориться - это вообще плохо и попахивает хранением сейвов игры в каком-то json, потому что юнити базы данных не поддерживает.
    Как бы в мобилках обычно логи пишутся в базу данных, а мобилки считай что калькулятор, Особенно если это андроид там точно калькуляторы у всех. Но если в базу писать для большого приложения становиться затратно, то лучше всего на JNI подключить либу на Си, которая будет писать логи в файл БЕЗ кеширования файла! Ну и там можно банально по достижению конца файла перезаписывать его в 0 позиции для 10мб файлов это быстрая операция. Если 100мб лог то тогда можно писать по кругу, но придется писать замудренный алгоритм чтения такого лог файла, возможно даже на стороне бекенда будет алгоритм декодирования.
    Но точно сохранять 100мб при каждом креше или сейве это звучит бред, особенно в json сохранять еще более бред. И получается при каждом onDestroy() нужно логи тоже сохранять. Так ни когда не стоит делать! Пишите лог сразу на диск с отключенным кешированием, если не получается кеш выключить, делайте flush() при каждой записи. Приложение может упасть и лог не записаться это стандартно для андроида, kill приложения сама АндроидОС может делать, когда приложение свернуто и onDestroy в этом случае не выполниться
    Ну и вообще для юнити/мобилок есть крешлайтикт от гугла. Там можно и аналитику и креши и логи отлавливать. В iOS есть собственная система сбора крешей и полно аналогов крешлайтикса, если он не устраивает по каким-то причинам

    • @user-uvk
      @user-uvk 2 роки тому

      Писать логи без кеширования тоже не гуд - можно устооить износ флешки и тормоза в программе. Есть промежуточный вариант - писать без буферизации в самой программе (write () вместо fwrite ()). Тогда буферизует сама ОС, и если падает программа, а не весь комп, то сохранится то же, что при flash () после каждой записи.

    • @serhiis_
      @serhiis_ 2 роки тому

      @@user-uvk Когда падает приложение андроид/иос/винда, все незакрытые файлы теряются. Проверено жизненным опытом. 20 лет опыта в IT. fclose() НЕ выполняется если процесс дропнуть командой kiil pid. Именно так он и дропается в ОС андроид такой же командой. У вас опыта по ходу нет и вы думаете что гарантированно всегда вызовется fcloce(). Но это не так.

    • @user-uvk
      @user-uvk 2 роки тому

      @@serhiis_ Вы невнимательно читали. Да, fclose не выполнится, и буфера RTL не скинутся, как Вы и написали. Но я предлагал использовать open/write в противовес fopen/fwrite, у функций без f нет буферов в пользовательской программе, все буфера в ОС, и они в большинстве ОС не теряются при убиении процесса. Вот если грохнется ОС, тогда ой. И коль пошла такая пьянка, 35 лет опыта в IT.

    • @serhiis_
      @serhiis_ 2 роки тому

      @@user-uvk Проверьте в андроиде. Я не уверен что ваш способ на java будет работать. Какой именно класс java в андроиде надо использовать?

    • @user-uvk
      @user-uvk 2 роки тому

      @@serhiis_ С java и андроидом не работал. На голом С пример простой:
      #include
      #ifdef unix
      #include
      #else
      #include
      #endif
      #include
      #include
      #include
      int main(int argc, char **argv)
      {
      int f1=open("tst_open",O_CREAT|O_TRUNC|O_WRONLY,0777);
      FILE *f2=fopen("tst_fopen","w");
      write(f1,"kuku/write
      ",11);
      fwrite("kuku/fwrite
      ",12,1,f2);
      printf(">>>>");
      getchar();
      }
      под Linux и Windows при отстреле процесса один файл остаётся пустой, а в другом всё на месте. По Ctrl-C под Linux то же самое, а под Windows оба файла непустые.

  • @kletnoe
    @kletnoe 2 роки тому

    точка нэт

  • @a1ex_sk
    @a1ex_sk 2 роки тому +1

    1. Что за странные чуваки говорили тебе, что "знание алгоритмов" просто делает программистов лучше? Я вот на собесах спрашиваю, зачем нужно понимание структур, алгоритмов и сложности. И при подобном бреде речери об уровне "синьер" даже не идет
    2. Применений деревьям/грфам и разного рода спискам очень много и на фронте. Пример с undo/redo выглядит как минимум странно и неуместно.
    Ну и в целом, все же от задачи зависит. Вот ты делаешь фронт или даже бэк для очередного интернет магазина. Крайне маловероятно, что тебе понадобится что-то сложнее списка. Ну возможно дерево как явление и будет присутствовать (каталог товаров), но какие алгоритмы реально могут пригодиться?
    Другая ситуация: вот ты зачем то делаешь ui для инжинера, который отвечает за сборку, например, мебели. Сам процесс сборки, очевидно, граф, его узлы - запчасти и/или "полуфабрикаты". Тебе нужно валидировать дерево, считать метрики, и "помогать", давая подсказки или подсвечевая неоптимальные "пути" на графе. Очевидно, ты, столкнувшись с очередной проблемой, мгновенно готовое идеальное решение не родишь. Тебе надо будет подумать, погуглиить, найти 100500 готовых алгоритмов для подобных задач, изучить их, и адатировать что-то для твоей конкретной проблемы...
    С другой стороны, чтобы что-то найти, нужен базис, нужно знать, что искать. Вот об этом интересно поговорить. А эта ересь, про то как важно знать условный алгоритм Дейксты или тот же фильтр Блума...не интересно и на самом деле бесполезно

    • @user-uvk
      @user-uvk 2 роки тому

      Знание алогритмов даёт развитие мозгу и кругозор. Конечно, то и другое можно получить и другими способами. Но для программистов этот эффективнее.

  • @oeaoo
    @oeaoo Рік тому

    Дерево - это не граф без циклов. Это односвязный (!) граф без циклов. Подумай почему.

  • @geekdaemon940
    @geekdaemon940 2 роки тому

    Вы не прав. Дерево это я. Сверху по пояс.

  • @cyrillingus2733
    @cyrillingus2733 2 роки тому +1

    не понимаю, почему не вставлять больше примеров, слушать говорящую голову тяжело

  • @squid869
    @squid869 2 роки тому

    Алгоритмы надо изучать т.к. их спрашивают на каждом собеседовании 😀

    • @a1ex_sk
      @a1ex_sk 2 роки тому

      Такая себе мотивация. Это как покупать самую дорогую машину, потому что друзья могут спросить, "почём брал?". Если не умеешь применять алгоритмы в реальных задачах, то грош цена таким знаниям. Ну пройдешь ты собес, а дальше чего? Вдруг там тех лиды не идиоты, задачи сложные, и знание алгоритмов реально нужно. Ты тупо заучил что-то для собеседования, а как применять на практике, в реальной задаче не знаешь... Потратишь зря свое и чужое время.
      С другой стороны, если тех лиды идиоты и спрашивают про алгоритмы просто потому, что не знают, о чем ещё спосить, то опять же, зачем туда вообще идти, тратить своё и чужое время?

    • @Yornero
      @Yornero 2 роки тому

      @@a1ex_sk согласен, если уж и изучать их, то потому, что тебе самому это чем то полезно/интересно. Тем более хорошо поразмыслив можно без проблем найти нормальную мотивацию для их изучения

    • @squid869
      @squid869 2 роки тому

      Да уж.. я смотрю вы в сарказм вообще не могЕте

    • @a1ex_sk
      @a1ex_sk 2 роки тому

      @@squid869 считайте проф.деформацией :) Последние 7 лет регулярно собеседую людей (разного уровня, для разных проектов). Поверьте, для вас это шутка. Для очень многих - норма, заучить что-то просто для собеседования, или вообще начать рассказывать, что паттерны и принципы - бессмысленная потеря времени, алгоритмы в реальных задачах нафиг не нужны, и вообще я тут пару статей про RX прочитал, поэтому платите мне синьерский топ рынка

  • @alexeyyushin8358
    @alexeyyushin8358 2 роки тому

    Автор, надо иногда отвлекаться от программирования, например поизучать как работает браузер, как выделить больше памяти виртуальной машине жаваскрипта и тогда вкладочки зашуршат при гораздо меньшем объеме оперативки. Торможение "32 гига и 5 вкладок" звучит по-Ламерски.

    • @user-uvk
      @user-uvk 2 роки тому

      Вы автора не поняли. Имелось в виду, что для одних и тех же действий новые программы требуют больше ресурсов, чем старые. И если тенденция сохранится, то через годы на 5 вкладок может не хватить 32 Гб...

    • @alexeyyushin8358
      @alexeyyushin8358 2 роки тому

      @@user-uvk я то прекрасно понял, это очевидно, но пример мягко выражаясь неудачный, показывающий что автор плохо понимает работу браузера. Вкладки кстати достаточно одной, если это фб и что-то долго листать. Через годы будут свои вкладки и свое понимание у производителей браузеров сколько памяти актуально выделять в настоящий момент.

    • @dmitriykonopinskiy3793
      @dmitriykonopinskiy3793 Рік тому

      а что ещё надо чтоб браузер нормально работал, личного сисадмина?

    • @alexeyyushin8358
      @alexeyyushin8358 Рік тому

      @@dmitriykonopinskiy3793 разберись, тыж программист

  • @ivan-ivanov-ivanovich
    @ivan-ivanov-ivanovich 2 роки тому

    Кто-то посмотрел новый ролик «экстремальных клоунов» )))

  • @owlomir5905
    @owlomir5905 2 роки тому

    Что за ковёр !?

    • @SeniorSoftwareVlogger
      @SeniorSoftwareVlogger  2 роки тому

      груп бай, такой больше не купить mykeyboard.eu/catalogue/kanagawa-deskmat-zen-mint_3629/

    • @owlomir5905
      @owlomir5905 2 роки тому

      @@SeniorSoftwareVlogger блин, спасибо

  • @klin1klinom
    @klin1klinom 2 роки тому

    Мне как-то сложно представить, что это за миллионы таких программистов, которые не в курсе хотя бы половины из перечисленных структур данных. Деревья и поиск по ним в ширь, глубь и типа А* - это вообще фундаментальные вещи.

  • @hiryu70
    @hiryu70 2 роки тому

    Бывают только труструктуры и чмоструктуры, все остальное от лукавого

  • @sinch5
    @sinch5 2 роки тому

    Задолбали эти якобы ненавязчивые рекламные вставки

  • @trommo
    @trommo 2 роки тому

    Ролик ни о чём. Смысл упоминать каждую отдельную структуру данных, описывая её одним предложением?

    • @user-uvk
      @user-uvk 2 роки тому

      Чтобы начинающий в море возможностей выбрал самые полезные или развивающие мозг.

    • @trommo
      @trommo 2 роки тому

      @@user-uvk я про то, что слишком короткие комментарии.

    • @user-uvk
      @user-uvk 2 роки тому

      @@trommo в среднем по минуте на структуру. Это чисто чтобы зритель понял, полезет он в инет искать эту структуру или ему она пофиг.

  • @MrDao92
    @MrDao92 2 роки тому

    Очень странно что программист может не знать алгоритмы и структуры данных. Не стал бы работать с такими "программистами".

  • @MaliytaSkuratoV
    @MaliytaSkuratoV 2 роки тому

    Братуха эти коды. для меня просто птичий язык. Ты вообще о чем, аж мази закипели.

  • @alexandrunknown1456
    @alexandrunknown1456 2 роки тому

    Уаще пакайфу жы есть. Аллах-гей

  • @alexanderskusnov5119
    @alexanderskusnov5119 2 роки тому

    Идиот, начал с рекламы. Ну и сам её смотри. Развелось этих манагеров. Лучше бы учились программировать.

    • @SeniorSoftwareVlogger
      @SeniorSoftwareVlogger  2 роки тому

      Значит, лучше прервать мысль рекламой? 🤦‍♂️

  • @user-cb8jr3rj7s
    @user-cb8jr3rj7s 2 роки тому

    ты хоть сам то понимаешь что тебя никто не понимает?

    • @user-uvk
      @user-uvk 2 роки тому

      Ну я понял. Значит, я "никто не"?

    • @user-cb8jr3rj7s
      @user-cb8jr3rj7s 2 роки тому

      @@user-uvk с вероятностью 50/50 это может быть так. но суть моего предыдущего сообщения в том, что те кто шарят нового ничего не узнали, а те кто не шарит тоже нового ничего не узнали, так как кучу новых терминов без явной связи понять должным образом не возможно, вероятно вы как и я шарите в структуры, но те кто не шарит после просмотра и не начали шарить.
      Видео вроде бы познавательное, но для кого?