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

  Рет қаралды 65,884

Senior Software Vlogger

Senior Software Vlogger

Күн бұрын

Попробовать PVS-Studio бесплатно:
pvs-studio.com/pvs_ssv
KZfaq канал: / 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 жыл бұрын
То что не вошло в видео и другие полезные ссылки t.me/seniorsoftwarevlogger/831
@NoldoWalker
@NoldoWalker 2 жыл бұрын
О, знаю откуда этот пончик на майке.
@maestro256
@maestro256 2 жыл бұрын
Нужные структуры данных: Списки Массивы Очередь Приоритетная очередь (куча/heap) Хэш-таблица (не путать с хэшмапой из джавы) Деревья: хотя бы бинарное и btree Графы - опционально Хорошо бы знать сложность операций поиска/добавления/удаления из этих структур Не все из них понадобится рука и использовать, а уж тем более реализовывать. Но это понадобится чтобы понимать как работают технологии. Те же индексы в базе данных, структуры в Kafka или Redis
@cavesalamander6308
@cavesalamander6308 2 жыл бұрын
В старину был где-то юмористический список того, что делает вас настоящим программистом. Среди таких вещей, как умение на память набрать двоичный код операционной системы тумблерами на передней панели ЭВМ, значилось также, что настоящий программист считает единственно полезной структурой данных одномерный массив. 🙂
@alexshkut
@alexshkut 2 жыл бұрын
Я вот тут пол-ролика просмотрел, и подумал: "Этот человек скорее всего бэкендщик на Java", ибо специфичность изложения и терминология выдает специализацию. Программирование не имеет ничего общего с Интернетом. Программирование - это научить дрон "летать и не падать" ). А отвтеил потому, что лайк поставил.
@rento4403
@rento4403 2 жыл бұрын
Братан хорош!!! Давай вперед!! Контент в кайф. Можно еще? Вообще красавчик! Можно вот этого почаще.
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 2 жыл бұрын
Ахаха 🤣
@brr3534
@brr3534 2 жыл бұрын
Авераге экстримкоде энжойнер
@VoidObj
@VoidObj 2 жыл бұрын
экстримкод, разлогинься )
@codingfox
@codingfox 2 жыл бұрын
Давай такой же формат про алгоритмы ;)
@iharkarpekin9333
@iharkarpekin9333 2 жыл бұрын
Отличный ролик, нужно больше подобного контента по структурам и алгоритмам с примерами)
@gijduvon6379
@gijduvon6379 2 жыл бұрын
Огонь! Нужно развить тему! Больше таких видео и в идеале чуть более подробно! Я про фильтр Блума узнал когда читал как работают базы данных на LSM-tree.
@AlienGodDog
@AlienGodDog 2 жыл бұрын
Классное видео, надеюсь будут еще выпуски с углубленным погружением в некоторые их структур данных. И как насчет такого же видео об Алгоритмах? Спасибо!
@eugenstakhursky9604
@eugenstakhursky9604 2 жыл бұрын
Интересно, спасибо
@sergey1727
@sergey1727 2 жыл бұрын
самое понятное обьяснение фильтра блума, сколько раз читал описание относительно биткоина и только сейчас понял!
@user-ex1ks2xk5m
@user-ex1ks2xk5m 2 жыл бұрын
... для программного инженера знание алгоритмов их вариантов и разновидностей обязательно, а для простого кодера, возможно и не обязательно ... всё зависит от того, какое место вы занимаете в процессе создания программного продукта.
@macmyem9527
@macmyem9527 2 жыл бұрын
Какие-то умные слова и даже их значения я знаю и как оказывается применяю, о каких-то впервые слышу. Что-то полезное есть, спасибо!)
@eugenstakhursky9604
@eugenstakhursky9604 2 жыл бұрын
Посмотрел до конца, лайк поставил)
@edmond-dantes-1796
@edmond-dantes-1796 2 жыл бұрын
Вторая часть будет?) Получилось интересно и познавательно
@bass1387
@bass1387 2 жыл бұрын
Спасибо за пример реализации двухсвязанного списка))
@virabhadra2
@virabhadra2 2 жыл бұрын
Спасибо за видео! Я бы так сказал, знание ряда популярных структур и алгоритмов, это страховка от траты времени на изобретение велосипеда програмистом. Тем более что для чего-то популярного может быть и аппаратная поддержка (могу ошибаться)
@dmitriyps22
@dmitriyps22 10 ай бұрын
О, это сразу подписка
@i.reutenko
@i.reutenko 2 жыл бұрын
Отличный формат для тех кто не знает с чего начать гуглить
@huget00n
@huget00n 2 жыл бұрын
на "пересечении" графов и деревьев, есть ориентированные ациклические графы (DAG), удобны для работы с классифицкаторами
@ne0nf0rce
@ne0nf0rce 2 жыл бұрын
Вообще не знаю асд, нас этому не учили. Спасибо за видео!
@ionware
@ionware 2 жыл бұрын
Красавчик, аж пойти корки получить по предмету захотелось
@alexanderaphonin7850
@alexanderaphonin7850 Жыл бұрын
У нас в проекте circullar buffer юзается для генерации uncompressible данных для перф нагрузки хранилищ
@froststorm77
@froststorm77 2 жыл бұрын
Отлично, упоминание без применения в примерах, "-Вот представьте как скачут шарообразные кони в вакууме"
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 2 жыл бұрын
К каждому алгоритму был пример. Слушал фоном?
@froststorm77
@froststorm77 2 жыл бұрын
@@SeniorSoftwareVlogger Я имел ввиду пример кода питон, js , хотя бы псевдокод, а так это ну совсем сфрические кони в вакууме.
@lolphdundgren4328
@lolphdundgren4328 2 жыл бұрын
@@froststorm77 А еще примеры на Delphi, C, отдельно C++, и на кондовом Паскале эпохи Вирта. В том и фишка, что примеры на ЯП для элементарных структур данных и нафиг не нужны - они пишутся на раз-два самостоятельно. Главное - идея.
@froststorm77
@froststorm77 2 жыл бұрын
@@lolphdundgren4328 бляааааа , собственно чего я ожидал от людей, разума и помощи , хер там плавал, говна на палке получи, это суровый мир и все срут на тебя и раздувая собственное эго. Я даже за то что бы сценарий "не смотри вверх" осуществился. Нах ебаное ИТ с их его перераздутыми эгоманьяками....
@Bu1at
@Bu1at 2 жыл бұрын
Хороший формат, анонсировать алгоритмы, а те кому интересно смогут уже сами найти детали!
@vitgo
@vitgo 2 жыл бұрын
скорее наоборот - абсолютно бесполезный формат... кинул пальцы ничего не показав и не рассказав, названия аылетают через 5 минут после просмотра видео... так что просто понты и реклама, и ничего больше... цель просто заманить на какие нить платные уроки, не более
@user-uvk
@user-uvk 2 жыл бұрын
@@vitgo а посмотреть в описание к видео и найти там названия для поиска сил не хватило?
@findajob2893
@findajob2893 6 ай бұрын
Алгоритмы знать обязательно, если хочешь проходить собесы)
@kriptossavant8797
@kriptossavant8797 2 жыл бұрын
Вообще правильно начинать любое описание с назначения. Очень интересно смотреть историю развития чего-либо - это лучше всего позволяет понимать зачем создавалась та или иная технология. Соответственно лучше понять где её лучше применять в своей практики и в чем её недостатки. И да, мне кажется, что нередко программисты считают, что все пользователи имеют самые последние образцы техники в самой топовой комплектации. :)
@101picofarad
@101picofarad 2 жыл бұрын
Да Вы что! Если начать сразу с сути структуры данных, то магия пропадет ;) Ускорение статистики по специальному типу в сравнении с обычным тупо обусловлено тем, что в нем данные лежат в очень удобном виде для данной операции, т.е. предварительно подготовлены.
@sanjsad2375
@sanjsad2375 2 жыл бұрын
А можно расширить и углубит? А так де узнать про взаимосвязь структур данных и протоколов передачи данных или способов поиска?
@user-yr5mp1dv4m
@user-yr5mp1dv4m 2 жыл бұрын
Спустя 20 секунд лайк поставил)
@user-cx4nj6io8x
@user-cx4nj6io8x 2 жыл бұрын
Ничего не понятно)) но очень интересно)) Не вижу схемы данных и картинки для визуального понимания что имеется ввиду, как будто статью из википедии озвучивают) Но зато есть список структур данных по которым можно смотреть информацию и изучать) поэтому спасибо за ролик!)
@radlimon2466
@radlimon2466 2 жыл бұрын
Приблизительно на 1:00 понял, что в ролике главное))
@denysserhieiev8378
@denysserhieiev8378 2 жыл бұрын
Возбудитель любопытства!
@llBARSll
@llBARSll 2 жыл бұрын
ExtremeCode пересмотрел что ли?)
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 2 жыл бұрын
Они просто раньше меня выпустили. Может теперь получится дрифтануть под их видео.
@spacestar4047
@spacestar4047 2 жыл бұрын
*Привет Дим,спасибо за полезный контент!* *Дим,сними пожалуйста еще одно видео про продуктивное рабочее место,так как наверняка за это время что-то изменилось)* *Сделай краткий обзор+совет с лайфхаками)*
@Blowjin
@Blowjin 2 жыл бұрын
У Котопса недавно был выпуск про структуры данных. Того и гляди, неплохое образование на ютабчике получу! :-)
@Anonim-im6ln
@Anonim-im6ln 2 жыл бұрын
Дякую!)
@dlearn863
@dlearn863 2 жыл бұрын
Смешно слышать "алгоритмы и структуры данных полезны", потому что программирование это как раз ДАННЫЕ и АЛГОРИТМЫ. Это даже не основы, это два столпа, сама суть программирования, на котором стоит кодинг любого уровня вплоть до устройства микропроцессора. Всё в программировании это данные и все действия при работе с ними - это алгоритмы. Все программисты работают с данными, используя алгоритмы. А знать их нужно для того, чтобы не изобретать велосипед, а использовать уже проверенные, продуманные и отлаженные механизмы. Чтобы повышать свою компетенцию и мастерство.
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 2 жыл бұрын
Все так
@VoyagerVR
@VoyagerVR 2 жыл бұрын
Хорошее видео. Не хватает примеров кода.
@jaso5807
@jaso5807 2 жыл бұрын
на 7:50 - множество по определению содержит только уникальные значения. Тут надо разобраться с терминами
@siarheitereta8621
@siarheitereta8621 2 жыл бұрын
Надо читать Кнута, Дейкстру, Хоора, Вирта
@uniquenickname
@uniquenickname 2 жыл бұрын
Спасибо) Ещё бы практический урок с примерами, было бы идеально
@codemaker7027
@codemaker7027 2 жыл бұрын
Почему-то прочитав заголовок видео сразу понял что будет речь про Фильтр Блума и HyperLogLog.
@avazart614
@avazart614 2 жыл бұрын
Наконец хоть немного образовательный контент!
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 2 жыл бұрын
Ты все это время верил в меня?
@avazart614
@avazart614 2 жыл бұрын
@@SeniorSoftwareVlogger То IT-бороду тестниш интервью тепер видимо пришло время Соера с его полуобразовательными видео ...
@user-qx5fm7oo2r
@user-qx5fm7oo2r 2 жыл бұрын
👍
@user-vg7ly1gy2k
@user-vg7ly1gy2k 2 жыл бұрын
Странно не сказать про бд и их индексирование при рассказе о фильтре Блума
@TimurShemsedinov
@TimurShemsedinov 2 жыл бұрын
Чувак, ты перепутал циклический буфер с циклическим списком, все примеры на циклический буфер можно считать хорошими примерами для циклического списка, а вот для циклического буфера примеры: обработка и кодирование видео и звука, когда лучше потерять немного данных, чем добавить задержку в стриминг или выжрать всю память, еще задачи сбора и отправка данных с датчиков и встроенных систем, у них памяти совсем мало и часто перетирают циклически поверх, ну и всякий финтех и биржи, где данные торгов устаревают и можно циклически переписывать их, в общем, ты уловил смысл, юзвейсов много. Странно услышать про тернарные деревья среди нужных структур, без упоминания о бинарных, а ведь именно они, а не иерархические структуры, и уж тем более не редкие тернарные, используются повсеместно и ускоряют и задачи поиска с разбиением пополам, организацию кучи (heap), сортировок, индексирование и т.д.
@user-lj6it6kk1x
@user-lj6it6kk1x 2 жыл бұрын
А на вот эти вероятностные структуры данных есть адекватные кейсы?
@allll1100
@allll1100 2 жыл бұрын
Интересная мысль а ты уверен что прав?
@RomanSokolov88
@RomanSokolov88 2 жыл бұрын
@@allll1100 Если Тимур неправ, то что-то в этом мире сломалось
@gijduvon6379
@gijduvon6379 2 жыл бұрын
Ух ты, а ты умный по ходу. Сколько зарабатываешь?
@JollyKinder
@JollyKinder 2 жыл бұрын
Подскажите, есть ли в стандартной библиотеке C++ циклический список или циклический буфер?
@alexbocharowru
@alexbocharowru 2 жыл бұрын
А последний выпуск куда делся? Посмотреть не успелось даже
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 2 жыл бұрын
kzfaq.info/get/bejne/ncCke7Fi3Z7KhGw.html
@luferov
@luferov 2 жыл бұрын
Какой монитор на столе?
@_wozgard
@_wozgard 2 жыл бұрын
Спасибо) Классный выпуск. Я новичок в программировании и благодаря этому ролику решил познакомиться с самыми полезными структурами данных
@flitch4337
@flitch4337 2 жыл бұрын
Структуры данных и алгоритмы - это база, это надо знать
@mwave3388
@mwave3388 Жыл бұрын
Это не база, это так...
@user-sm7kq4ll8l
@user-sm7kq4ll8l 2 жыл бұрын
Не понял ремарку про "настоящих" программистов на 4:19. Что имеется в виду под настоящими программистами?
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 2 жыл бұрын
Табличка "сарказм"
@FyUajYpUlM39
@FyUajYpUlM39 2 жыл бұрын
Программные инженеры, работающие на более низких уровнях, создающие саму возможность для говнокодинга этажом выше.
@antonrrtyq
@antonrrtyq 2 жыл бұрын
а можно поподробнее про структуры и чмо структуры пожалуйста?
@DAROM-TK
@DAROM-TK 2 жыл бұрын
То, что есть алгоритмы я понимаю, примеры тоже услышал. Но вот как все это применяется... Ничего не понял. Вот я новичок, для общего развития делал игру преферанс. Разыгрывающий ходит с козырного туза. Вистующему боту надо свои 10 карт рассортировать по мастям и старшинству, определиться, есть ли козыри, сходить самым мелким козырем, если есть, если нет, сбросить самую ненужную карту. Так какой алгоритм использовать для бота, чтобы он нашел самую ненужную карту? Какую библиотеку юзать, если я делаю это на node js? Я конечно сделал по своему разумению, но никаких мыслей насчет использования алгоритмов у меня не возникло чего то.
@user-ur4ev7vl6c
@user-ur4ev7vl6c Жыл бұрын
HyperLogLog нужна при создании своей БД
@alexandroskolkov2231
@alexandroskolkov2231 2 жыл бұрын
с тех пор как я фигачил на ассемблере в текстовом редакторе и дебажил турбодебагером прошло прям дофига времени :) я уже сильно давно не кожу, но думаю что это надо знать чтобы писать проги, а не говнопроги. сейчас вообще похоже никто особо не заморачивается в некрупных проектах - сляпали, работает и гуд. раньше за каждый байт боролись, а теперь шутка про 32 гига и хром уже не шутка блин :( вообще первые проги на асме я писал сначала на бумажке, потом переводил в хекс при помощи таблиц и долбил в редакторе в файл (когда не было компилятора), вот там был гемор :) короче, кодеры, учите алгоритмы и данные чтобы не было вам стыдно за ваши проги. бабки за проект получить это одно, а чтобы ночами еще не икалось...
@Andrew-7324
@Andrew-7324 2 жыл бұрын
В мобильном приложении обычно количество элементов небольшое, из-за этого нет особого повода изучать алгоритмы, а жаль
@ilyushka21st
@ilyushka21st 2 жыл бұрын
А где же кучи?
@user-yd9xy3rb4x
@user-yd9xy3rb4x 19 күн бұрын
Ну undo это паттерн команда больше как по мне
@Dmittry
@Dmittry 2 жыл бұрын
Погоди, а где стек и очередь?
@detnhyiiika6759
@detnhyiiika6759 2 жыл бұрын
4:04 - АХАХАХАХАХА. НЕТ!!! 😐
@igorzorin8566
@igorzorin8566 2 жыл бұрын
"Настоящие программисты"
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 2 жыл бұрын
🌚 сарказм
@igorzorin8566
@igorzorin8566 2 жыл бұрын
@@SeniorSoftwareVlogger воображаемые программисты))
@avazart614
@avazart614 2 жыл бұрын
@@SeniorSoftwareVlogger Напомнило: "Заходит как то в бар Хауди Хо, Гоша Дударь и настоящий программист ... "
@ishtopor
@ishtopor 2 жыл бұрын
эммм... как-то на подкорке уже, что кеш = weak reference...
@janedoe6182
@janedoe6182 2 жыл бұрын
Настолько полезные структуры данных, что их почти никто не знает...
@lolphdundgren4328
@lolphdundgren4328 2 жыл бұрын
Это лишь показывает качество современного образования... и самообразования программистов.
@janedoe6182
@janedoe6182 2 жыл бұрын
@@lolphdundgren4328 Вот то ли дело были программисты во времена Пушкина и Достоевского... Все структуры и алгоритмы знали наизусть.
@vladimir0rus
@vladimir0rus 2 жыл бұрын
Кольцевой буфер на связанном списке это так себе решение в плане экономии памяти. Вообще нормальный кольцевой буфер это простой массив.
@FyUajYpUlM39
@FyUajYpUlM39 2 жыл бұрын
Почему?
@vladimir0rus
@vladimir0rus 2 жыл бұрын
@@FyUajYpUlM39 потому что у списка оверхед в виде указателей и список подразумевает аллокацию памяти под каждый элемент (опять оверхед), в то время как идея кольцевого буфера - иметь заранее определенный объем памяти и просто перезаписывать старые данные. Ну и двигаться по списку гораздо менее эффективно чем по массиву, т.е.е массив еще и быстрее будет. Циклический связный список может и годится для каких то высокоуровневых целей типа Undo/Redo, но как кольцевой буфер для записи поточных данных малопригоден.
@user-yd9xy3rb4x
@user-yd9xy3rb4x Жыл бұрын
Я один просто люблю алгоритмы. Мне надо было быть разрабом драйверов а не iOS
@1anrus
@1anrus 2 жыл бұрын
В каком месте блум фильтр может реально пригодиться, с учетом того что он не дает 100% результат, но дает скорость.
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 2 жыл бұрын
Я же рассказал пример
@MrRagday
@MrRagday 2 жыл бұрын
обработка запросов в гугле?
@macmyem9527
@macmyem9527 2 жыл бұрын
2:08 - у меня ничего в углу не появилось(
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 2 жыл бұрын
kzfaq.info/get/bejne/b8WXZLdmuNO5doE.html
@macmyem9527
@macmyem9527 2 жыл бұрын
@@SeniorSoftwareVlogger спасибо, а что все таки за подсказки, почему на не появляются? Сижу с обычного ПК, с хрома
@kherelable
@kherelable 2 жыл бұрын
Я тоже такую лампу купил после того как ее теклид рекламировал... ахахахаха
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 2 жыл бұрын
Мне прислали для обзора на другом канале
@Inkerman5000
@Inkerman5000 2 жыл бұрын
Самое полезное видео за мой шестимесячный опыт обучения программированию
@SergeiCherkai
@SergeiCherkai 2 жыл бұрын
32 мало 128 самое то
@sergsavin6486
@sergsavin6486 2 жыл бұрын
может быть, когда-нибудь, мы вернемся в тот мир, где сеньоры были не просто мидлами с подвешенным языком, а реально что-то знали о мире айти.. спасибо за еще один маленький шаг в эту сторону
@OlegGoritsyn
@OlegGoritsyn 2 жыл бұрын
а так до сих пор и есть, просто в компаниях, которые могут себе это позволить.
@mypointis
@mypointis 2 жыл бұрын
Слишком поверхностно
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 2 жыл бұрын
Что бы ты хотел увидеть помимо того, что теперь можешь загуглить за 5 минут?
@aerahtv0000
@aerahtv0000 2 жыл бұрын
ну просто в javascript оно и нафиг не нужон, алгоритм этот ваш )) а вот, к примеру, в c++ без алгоритмов вообще никуда, если хочешь нормально оптимизировать требовательный софт. Нужно знать где какие алгоритмы или структуры данных применять.
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 2 жыл бұрын
Нужон нужон
@user-ul5ic2rw5h
@user-ul5ic2rw5h 2 жыл бұрын
0:14 Пока не существует универсальной теории алгоритмов, знать их всем на свете абсолютно не обязательно. На текущий момент в программировании имеется раздел типовой алгоритмизации, где собрана коллекция популярных часто встречающихся классов программистских и математических задач типа сортировка, поиск, задача коммивояжёра и всякое такое. В программистских книжках по алгоритмам нет универсальной теории, которая даёт общий подход к любому прикладному алгоритму.
@eugenenovikov671
@eugenenovikov671 2 жыл бұрын
У меня было 5000 вкладок в хроме и недавно у меня сгорел жёсткий, что в биосе его нет. Сначала он оч медленно стал работать, а потом 3.14зда. Кто знает где в Москве могут оживить напишите плиз и Диме - Дима, не открывай вкладки в хроме!
@geekdaemon940
@geekdaemon940 2 жыл бұрын
Вы не прав. Дерево это я. Сверху по пояс.
@oeaoo
@oeaoo Жыл бұрын
Дерево - это не граф без циклов. Это односвязный (!) граф без циклов. Подумай почему.
@cyrillingus2733
@cyrillingus2733 2 жыл бұрын
не понимаю, почему не вставлять больше примеров, слушать говорящую голову тяжело
@kletnoe
@kletnoe 2 жыл бұрын
точка нэт
@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 оба файла непустые.
@a1ex_sk
@a1ex_sk 2 жыл бұрын
1. Что за странные чуваки говорили тебе, что "знание алгоритмов" просто делает программистов лучше? Я вот на собесах спрашиваю, зачем нужно понимание структур, алгоритмов и сложности. И при подобном бреде речери об уровне "синьер" даже не идет 2. Применений деревьям/грфам и разного рода спискам очень много и на фронте. Пример с undo/redo выглядит как минимум странно и неуместно. Ну и в целом, все же от задачи зависит. Вот ты делаешь фронт или даже бэк для очередного интернет магазина. Крайне маловероятно, что тебе понадобится что-то сложнее списка. Ну возможно дерево как явление и будет присутствовать (каталог товаров), но какие алгоритмы реально могут пригодиться? Другая ситуация: вот ты зачем то делаешь ui для инжинера, который отвечает за сборку, например, мебели. Сам процесс сборки, очевидно, граф, его узлы - запчасти и/или "полуфабрикаты". Тебе нужно валидировать дерево, считать метрики, и "помогать", давая подсказки или подсвечевая неоптимальные "пути" на графе. Очевидно, ты, столкнувшись с очередной проблемой, мгновенно готовое идеальное решение не родишь. Тебе надо будет подумать, погуглиить, найти 100500 готовых алгоритмов для подобных задач, изучить их, и адатировать что-то для твоей конкретной проблемы... С другой стороны, чтобы что-то найти, нужен базис, нужно знать, что искать. Вот об этом интересно поговорить. А эта ересь, про то как важно знать условный алгоритм Дейксты или тот же фильтр Блума...не интересно и на самом деле бесполезно
@user-uvk
@user-uvk 2 жыл бұрын
Знание алогритмов даёт развитие мозгу и кругозор. Конечно, то и другое можно получить и другими способами. Но для программистов этот эффективнее.
@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 разберись, тыж программист
@hiryu70
@hiryu70 2 жыл бұрын
Бывают только труструктуры и чмоструктуры, все остальное от лукавого
@klin1klinom
@klin1klinom 2 жыл бұрын
Мне как-то сложно представить, что это за миллионы таких программистов, которые не в курсе хотя бы половины из перечисленных структур данных. Деревья и поиск по ним в ширь, глубь и типа А* - это вообще фундаментальные вещи.
@owlomir5905
@owlomir5905 2 жыл бұрын
Что за ковёр !?
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 2 жыл бұрын
груп бай, такой больше не купить mykeyboard.eu/catalogue/kanagawa-deskmat-zen-mint_3629/
@owlomir5905
@owlomir5905 2 жыл бұрын
@@SeniorSoftwareVlogger блин, спасибо
@ivan-ivanov-ivanovich
@ivan-ivanov-ivanovich 2 жыл бұрын
Кто-то посмотрел новый ролик «экстремальных клоунов» )))
@sinch5
@sinch5 2 жыл бұрын
Задолбали эти якобы ненавязчивые рекламные вставки
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 2 жыл бұрын
Читай книги, Юрий 👍
@alexandrunknown1456
@alexandrunknown1456 2 жыл бұрын
Уаще пакайфу жы есть. Аллах-гей
@trommo
@trommo 2 жыл бұрын
Ролик ни о чём. Смысл упоминать каждую отдельную структуру данных, описывая её одним предложением?
@user-uvk
@user-uvk 2 жыл бұрын
Чтобы начинающий в море возможностей выбрал самые полезные или развивающие мозг.
@trommo
@trommo 2 жыл бұрын
@@user-uvk я про то, что слишком короткие комментарии.
@user-uvk
@user-uvk 2 жыл бұрын
@@trommo в среднем по минуте на структуру. Это чисто чтобы зритель понял, полезет он в инет искать эту структуру или ему она пофиг.
@MaliytaSkuratoV
@MaliytaSkuratoV 2 жыл бұрын
Братуха эти коды. для меня просто птичий язык. Ты вообще о чем, аж мази закипели.
@MrDao92
@MrDao92 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 это может быть так. но суть моего предыдущего сообщения в том, что те кто шарят нового ничего не узнали, а те кто не шарит тоже нового ничего не узнали, так как кучу новых терминов без явной связи понять должным образом не возможно, вероятно вы как и я шарите в структуры, но те кто не шарит после просмотра и не начали шарить. Видео вроде бы познавательное, но для кого?
Зачем учить алгоритмы и структуры данных? / Основы программирования
14:48
НЕОБЫЧНЫЙ ЛЕДЕНЕЦ
00:49
Sveta Sollar
Рет қаралды 8 МЛН
Normal vs Smokers !! 😱😱😱
00:12
Tibo InShape
Рет қаралды 97 МЛН
OMG 😨 Era o tênis dela 🤬
00:19
Polar em português
Рет қаралды 3,5 МЛН
Кәріс тіріма өзі ?  | Synyptas 3 | 8 серия
24:47
kak budto
Рет қаралды 1,7 МЛН
Как делают и зарабатывают на Open Source
23:00
Senior Software Vlogger
Рет қаралды 87 М.
Стань лучше 90% программистов
14:25
Senior Software Vlogger
Рет қаралды 31 М.
How To Learn Algorithms? Why? #codonaft
19:22
codonaft
Рет қаралды 557 М.
Как в 44 года стать программистом на Python. Объясняю с чего начать.
19:32
Как работает ТИРИСТОР? Самое понятное объяснение!
11:01
Hi Dev! – Электроника
Рет қаралды 438 М.
НЕОБЫЧНЫЙ ЛЕДЕНЕЦ
00:49
Sveta Sollar
Рет қаралды 8 МЛН