Roman
https://blog.twitter.com/engineering/en_us/a/2013/new-tweets-per-second-record-and-how.html История о том, как пришли джависты захейтили Ruby-стэк и начали его мигрировать
Roman
> There was a level of trust that we all had in the JVM. A lot of us had come from companies where we had experience working with, tuning, and operating large scale JVM installations. Ключевая часть всего рассказа
Viktor
так это скоро можно будет на котлине идти в твитер писать 😂
Viktor
и JVM тюнить как не в себя
Roman
Они, вроде, там скалисты все, у них в 2011 или что-то около того был курс по Scala. Они, можно сказать, ee евангелисты.
Viktor
Все верно. Прошло 10 лет, и вот на смену скале приходит новая модная история
Viktor
Ну я шучу. Это про разное языки, видимо, в смысле скала и Котлин.
Viktor
Хоть и оба на джвиэм
Null
Happy Friday! 👋 Помимо разборов задач по понедельникам записываю теорию по структурам данных. В этом видео говорю про стек, про сложность, и даже зачем-то реализую стек на плюсах. https://www.youtube.com/watch?v=u1keZtyEx7A
Sergei
Happy Friday! 👋 Помимо разборов задач по понедельникам записываю теорию по структурам данных. В этом видео говорю про стек, про сложность, и даже зачем-то реализую стек на плюсах. https://www.youtube.com/watch?v=u1keZtyEx7A
Вчера посмотрел, узнал про метод потенциалов, хотя момент отсутствия перемещения элементов в новое место в памяти при недостатке длины массива считал одним из преимуществ связанных списков над массивами.
Viktor
Вчера посмотрел, узнал про метод потенциалов, хотя момент отсутствия перемещения элементов в новое место в памяти при недостатке длины массива считал одним из преимуществ связанных списков над массивами.
да, хорошее замечание про связные списки, можно ж действительно стек на списках. с точки зрения сложности одно и то же, а вот на практике может быть одно выигрывает у другого на накладных расходах на каких-то конкретных профилях нагрузки.
Sergei
Я к чему, что этим методом можно любую тяжелую операцию, возникающую в определенный момент, размазать)
Sergei
И подумал, прочитал бы книгу структуры данных под капотом, где рассказывается как в разных языках они реализованы
Viktor
Я к чему, что этим методом можно любую тяжелую операцию, возникающую в определенный момент, размазать)
Если сможешь придумать как накапливать потенциал, то да 🙂 Есть ещё метод бухучета, где на каждую операцию кладут «монетку», чтобы потом её потратить — по сути одно и то же.
Viktor
И подумал, прочитал бы книгу структуры данных под капотом, где рассказывается как в разных языках они реализованы
мне кажется, что это книга может стать просто исходным кодом 😄 шучу. было бы круто почитать про разные реализации или почему те или иные решения были приняты.
Sergei
Я как раз сейчас дочитал что очередь лучше двойным связанным списком реализовать О(1)
Sergei
Doubly linked list - это двойной?
Viktor
ага
Sergei
Странный перевод)
Viktor
ну да, просто гуляешь указателем на top туда-сюда по списку.
Sergei
Двусвязный наверное)
Viktor
ещё мне кажется, что на практике для небольших стеков проще выделить непрерывный блок памяти (и удалить потом) проще чем список в куче.
Viktor
надо проверять, интересно.
Sergei
А вообще - классно, что делаешь контент, продолжай! Главное consistency)
Sergei
Тогда ещё accessibility (добавляй субтитры)
Порридж В Ко-ливинге
Порридж В Ко-ливинге
Самый наглядный overflow в жизни
Порридж В Ко-ливинге
Всяко лучше чем взять -126 ₽ с клиента, т.е. начислить деньги 😅
Viktor
хахаха. найс. когда используешь unsigned 😂
Владъ
как же я обожаю эти великолепные экземплы на литкоде просто произведение искусства
Slava
Example 2 это хороший пример
Viktor
Просто иногда бывает тупо очень: дают слишком простой пример и приходиться пару своих тестов погонять и проверить что он возвращает. Но я считаю это как будто спросить интервьюера
Владъ
Это все примеры? 😃
Это к сегодняшнему Первый пример нормальный
Владъ
Мне кажется, эдж кейсы сразу показывать это как-то такое.. Лучше, когда их нет в примерах, тогда у тебя лучше выработается привычка их искать и проверять
Порридж В Ко-ливинге
Ну наконец-то. Язык программирования из которого можно и перчатки сделать!
Viktor
Ну наконец-то. Язык программирования из которого можно и перчатки сделать!
О да. У меня в универе его как только не называли. Милое дело ж.
Viktor
По иронии судьбы в универе единственное на чем я писал это матлаб + латех, чтобы статью скопмилировать. Не знал тогда, что станут веб-разработчиком и буду писать эти ваши джаваскрипты 😂
Oleg
А как же Delphi?
Viktor
А как же Delphi?
Это ещё в школе было, и там в основном Леха писал, а я рядом стоял.
Viktor
Это ещё в школе было, и там в основном Леха писал, а я рядом стоял.
А когда я пытался сделать курсовую, с которой мне Белый помогал, это тоже было давно и неправда.
Oleg
Понятно, "да это ребята программировали, а я рядом стоял" 😜
Evgeniy
У меня делфи был на первом курсе
Evgeniy
Препод написал "суперпрограмму" которая решала любые, по его словам, задачи линейного программирования :)
Viktor
Я уже после выпуска узнал, что Pascal ABC сделали на мехмате в РГУ
Viktor
И вроде даже до сих пор он как-то развивается.
Viktor
Идеально для обучению программированию как раз, не для работы.
Порридж В Ко-ливинге
Нерешенные проблемы человечества
Null
Happy Monday! 👋 На этой неделе будем удалять k цифр числа так, чтобы получить наименьшее возможное число. Жадный алгоритм, решение со стеком. https://www.youtube.com/watch?v=LBuObFA3h2g
Roman
Сергей Сема запугал всех в FAANG Interview, что все в своих сообщениях пишут в конце: “не выгоняйте, пожалуйста, если сочтёте за офтоп, государь милостивый” 😅
Viktor
вероятность скатиться в офтоп и сделать для остальных участников полезные сообщения шумом — высокая.
Viktor
хотя полезные сообщения публикуются в дайджестах, что удобно.
Roman
Ну да, но я заметил, что очень много людей из соседнего литкод чатика негодуют по поводу их бана в FAANG Interview. Да, и как мне кажется такая политика не особо идет на пользу, иногда около оффтопные разговоры могут переростать в интересные технические дискуссии. Как то раз видел холливар о языках программирования, так там участники дошли до того, что выкладывали достаточно детальные описания фич (с некоторым углублением в их устройство), которые предоставлял их язык и почему это круто)
Ilia
Ну не просто так есть отдельные каналы для оффтопа
Roman
Ну не просто так есть отдельные каналы для оффтопа
мне кажется, что и во FLOOD банят за флуд ;D
Ilia
Кстати, у меня тут вопрос возник абстрактный, по каким признакам вы определяете что перед вами жадный алгоритм?
Gennady
Кстати, у меня тут вопрос возник абстрактный, по каким признакам вы определяете что перед вами жадный алгоритм?
Мимо крокодил. Если выбранный ход на текущий итерации не является гарантированно оптимальным
Gennady
Т.е. ты типа жадный, т.к. хватаешь лучший вариант на данный момент
Viktor
Мимо крокодил. Если выбранный ход на текущий итерации не является гарантированно оптимальным
только наоборот же, нет? то есть ты на каждом шаге знаешь куда идти, заранее понимая что этот путь оптимальный.
Viktor
отличие жадинки в том, что не нужно перебирать все варианты.
Viktor
как раз потому что «жадно» можно взять лучший
Gennady
как раз потому что «жадно» можно взять лучший
Локально лучший вариант может оказаться глобально худшим
Ilia
Локально лучший вариант может оказаться глобально худшим
Ну вот если глобально он не лучший, то и жадину использовать тут уже нельзя
Viktor
Локально лучший вариант может оказаться глобально худшим
в таком случае нельзя использовать жадный алгоритм
Viktor
то есть в этом как бы весь прикол, что серия локальных оптимумов ведет к глобальному
Viktor
а иначе дпшечка и перебор
Gennady
А дейкстра разве не является жадным?
Gennady
Ну вот текущий локальный оптимум в дейкстре может же являться глобально худшим выбором
Viktor
что-то я не понял. ты на каждом шаге ищешь вершину с наименьшим весом, среди ещё не посещённых, после чего обновляешь значения для других вершин — этот «жадный» выбор при переходе от ребра к ребру и ведет к оптимальному решению.
Viktor
если бы это было не так, то в чем тогда смысл алгоритма?