Erik
Тебе надо ее сплитом разделить
Igor
https://leetcode.com/problems/integer-replacement/submissions/ гля как решил https://pastebin.com/H8qXuRx4
норм только вот такую дичь отучивайся писать return solve(n-1, counter+1) < solve(n+1, counter+1) ? solve(n-1, counter+1) : solve(n+1, counter+1); min и max вместе с оптимизатором отлично справятя ... зато читать их гораздо приятнее
Oleg
Тебе надо ее сплитом разделить
Там да, всё крайне просто, input().split() и понеслась
Igor
+ если таблицы demo не существует, этот запрос вернет ошибку. В этом была соль.
а exists это типа условие не на строки таблицы а на наличчие самой таблицы?
Гюнтер о'Дим
что проще выучить React или Vue.js ?
Maksim Pozharskiy
что проще выучить React или Vue.js ?
Vue кажется чуть чуть попроще, но не сильно
m700
в чем js дебажить? ткнул в хроме брекпоинт, коллстек показывает внутри файла, откуда пришел не понятно
Гюнтер о'Дим
я начал учить React, и задумался может Vue будет проще и быстрей выучить
Гюнтер о'Дим
что посоветуете
Agent_RBY_
что посоветуете
У Реакта рынок больше, поэтому если разницы нет - учи его
Igor
https://leetcode.com/problems/integer-replacement/submissions/ гля как решил https://pastebin.com/H8qXuRx4
Можно кстати обойтись без перебора. Попробуй представить на уровни битов что происходит.
Oleksii
в чем js дебажить? ткнул в хроме брекпоинт, коллстек показывает внутри файла, откуда пришел не понятно
Солнце, скажи, а string builder перезаписывает значение переменной или просто изменяет его?
Igor
Так это база целиком
Специально для тебя ;) с битами ;) https://leetcode.com/problems/integer-replacement/submissions/ def integerReplacement(self, n: int) -> int: cnt = 0 while n>3: cnt += (n&1) + 1 if n&3 == 3: n+=1 n>>=1 cnt += n - 1 return cnt
Oleksii
изменяет это всмысле как?
string a = "hello"; "hello world"
Oleksii
а блин про то как в паскалеподобных языках?
Основное отличие сб от обычной строки, это то, что при работе с сб идёт изменение с переменной (в памяти), без создания копий до/после
Oleksii
Вот создан экземпляр сб, выделили ему память. Потом после использования сб все действия происходят в той памяти, что была выделена, если не хватает, то оно само расширяет. А если просто string a =""; a = "hello"; a+" world!"; То на каждое действие выделяется память, которая хранит все версии изменений, т.е уже выделяется не 1 ячейка, а сразу 3, как по моему примеру
m700
Ну интернирование
m700
Щас докурю те видос скину приятный
Гюнтер о'Дим
кто может дать сайт с заданиями для React?
Oleksii
Я щас просто собес смотрю (запись) и сам себя проверяю
m700
Я те так скажу я стрингбуиддер последний раз юзал лет 15 назад. Щас все что юзаю строковое оно в риадонли
Oleksii
А почему?
m700
А почему?
ну а чем функциональные хороши - меньше точек изменений меньше проблем
m700
если есть олт он сука раскрутиться когданибудь, потому когда из говна и палок делают то гвоздями прибивают
m700
Щас докурю те видос скину приятный
https://www.youtube.com/watch?v=WGZHyu3rmrI
Oleksii
Ок, завтра посмотрю, на более чистую голову
Oleksii
Спасибо
Bogdan
Народ кто шарит в оптимизации, как в мессенджерах работает моментальная прогрузка, помимо скролл-пагинации
Bogdan
а сборщик мусора чистит не сразу
Mikhail
Народ кто шарит в оптимизации, как в мессенджерах работает моментальная прогрузка, помимо скролл-пагинации
Уточни вопрос, ты про какую часть системы говоришь, про бекенд или про фронтенд?
Oleksii
все это хорошо но не для 2-3 строк ;) ты дольше билдер будешь создавать ;)
Это понятно, что билдео используется при большом количестве строк. Но есть момент, когда наступает "большое кол-во строк"? 10, 50, 100, 112, 228?
Bogdan
ибо на бэке ты в любом случае будешь отсылать все сообщения
Bogdan
тут уже без билдера так себе
Bogdan
Нет.
можно тогда и про фронт и про бэк обьяснить плиз
Bogdan
ибо мне надо написать мессенджер но я не совсем понимаю как это надо оптимизировать потом
Oleksii
#капитану_на_заметку Всем привет! На технических собеседованиях часто можно услышать вопрос: "Как улучшить производительность при конкатенации строк?" И получить такой ответ: "Использовать класс StringBuilder! Везде! Всегда!" Ох... нет... Так это не работает. Но звучит обнадеживающе 🙂 Именно из-за этого ответа, на code review, мне нередко приходится видеть неразумное использование класса StringBuilder. Ненужно использовать StringBuilder на небольших наборах данных. Если у вас пapa-тpoйкa строк, воспользуйтесь обычном оператором "+". Мало того что это гораздо читабельнее, так еще и производительнее. Это ли не то, чего мы так хотим при создании качественного программного обеспечения? 😉 StringBuilder нужен только когда у вас ну ооочень много строк (не три) — вот тогда есть смысл его использования. Неразумное использование StringBuilder может даже приводить к деградации производительности. Именно поэтому нужно всегда отслеживать производительность вашего ПО делая benchmarking. +1 к работе со строками ✅
Igor
для 2-3 строк фигня, а вот если у тебя цикл из 20
откуда они взялись эти строки ?
Bogdan
откуда они взялись эти строки ?
зачем они вообще нужны
Bogdan
можно просто 1 и 0 прибавлять
Mikhail
скорее фронт
А в чем проблема? У тебя есть батч сообщений, при скролле, как только ты подбираешься к верху отправляется запрос на сервер на получение следующего батча, закидываешь его в локал сторедж, выводишь пользователю при надобности.
Bogdan
#капитану_на_заметку Всем привет! На технических собеседованиях часто можно услышать вопрос: "Как улучшить производительность при конкатенации строк?" И получить такой ответ: "Использовать класс StringBuilder! Везде! Всегда!" Ох... нет... Так это не работает. Но звучит обнадеживающе 🙂 Именно из-за этого ответа, на code review, мне нередко приходится видеть неразумное использование класса StringBuilder. Ненужно использовать StringBuilder на небольших наборах данных. Если у вас пapa-тpoйкa строк, воспользуйтесь обычном оператором "+". Мало того что это гораздо читабельнее, так еще и производительнее. Это ли не то, чего мы так хотим при создании качественного программного обеспечения? 😉 StringBuilder нужен только когда у вас ну ооочень много строк (не три) — вот тогда есть смысл его использования. Неразумное использование StringBuilder может даже приводить к деградации производительности. Именно поэтому нужно всегда отслеживать производительность вашего ПО делая benchmarking. +1 к работе со строками ✅
ну стрингбилдер это оптимизация так-то но если строк много, если их мало то в этом нет смысла
Oleksii
ну стрингбилдер это оптимизация так-то но если строк много, если их мало то в этом нет смысла
Что такое мало, что такое много 5 строк это мало или много, 10, 20, 50?
Mikhail
можно тогда и про фронт и про бэк обьяснить плиз
Вот с бекендом в настоящих мессенджерах гораздо сложнее, ибо у тебя тут и партишининг, и репликация, и мультипл-инстансес, и прочие веселости.
Igor
Что такое мало, что такое много 5 строк это мало или много, 10, 20, 50?
Какую проблему ты пытаешься решить? ;) или просто поговорить?
Oleksii
Все понимают, если строк всего 3, то тут конкатенация, а если 25 то сб
Bogdan
а нужно ли как-то кешировать?
Mikhail
можно чуть подробнее
Для домашнего проекта мессенджера можешь забить, у тебя все равно нагрузка в 2 пользователя будет, один из которых ты, а второй - твой фейк.
Mikhail
а нужно ли как-то кешировать?
На клиенте? Конечно.
Mikhail
то-есть это просто скрол-пагинация и всё?
А что ты хотел тут придумать еще?
Bogdan
А что ты хотел тут придумать еще?
да я думал мб есть ещё какие-то секреты
Bogdan
даже с пагинацией
Igor
но тем не менее если получать каждый раз все сообщения то это занимает много времени
кэширование и все сообщения, а так же пагинация ;) это из разных вселенных ;) ты как то все в одну кучу смешал
Mikhail
но тем не менее если получать каждый раз все сообщения то это занимает много времени
Получай последние 1000 сообщений, как только пользователь мотает историю вверх до сообщения номер 700, подгружаешь предпоследние 500 сообщений.
фофа
Добрый вечер, начал читать Шолле и хотел спросить можно ли юзать Keras на Винде. Там просто рекомендуют всё делать на UNIX
фофа
Я понимаю, но автор не рекомендовал его юзать в связке с виндой. Вот и решил спросить чё так 😅
Liza
Я делаю учебный проект на Джанго - имитацию Википедии. Index.html выводит список имеющихся статей, есть поле поиска. Из поиска запрос идет на бэк, и, если совпадение с названиями статей частичное, выводится список этих статей. И вот тут есть варианты: вывести обратно на index через POST или создать отдельный путь search с отдельной страничкой. В задании про это ничего не говорится, в чате курса никто не отвечает (там люди в основном 🤞хоть бы работало🤞 сидят). Есть какое-то правило, как обычно это делается?