Шпаньков, ты что-ли постоянно минусуешь когда тут про баги в вашем браузере пишут?
Первый минус я поставил. Просто тут такие вбросы не принято делать. Баги постоянно фиксят, но очевидно всем не угодить и многое висит годами. Если делаете такой вброс, перечислите хотя бы баги.
Ну в этом и есть польза, чтоб низкочастотники из нескольких слов не набирать полностью. Например вы хоитите загуглить что такое «обсессивно-компульсивное расстройство», но даже не знаете точно, как это пишется. Вводите «обессив», и первым пунктом видите желаемое.
Другое дело, что в вивальди плохо реализованы эти подсказки. Первым пунктом зачем-то выдается абсолютно лишний пункт, который только мешается «искать обессив». Зачем он? Плюс в это же место часто вклиниваются какие-то набранные адреса, что дополнительно мешает. В хроме превосходно работают подсказки, попробуйте.
Аналогичный эффект с автодополнением в адресной строке. Хром всегда угадывает, что мне нужно, вивальди — практически никогда.
Потому, что поисковые подсказки — это один из каналов сбора информации о пользователе — о его интересах, предпочтениях, проблемах и прочем. Поэтому поисковые подсказки Google осознанно удалены из браузера
Почему нельзя сделать галочку «Включить подсказки гугла, да я в курсе, что за мной будут следить»? Чтоб мне не надо было гуглить эту строку, когда я ставлю браузер знакомым домохозяйкам, я же не помню её на память.
Назовите его Мейл ру мессенджер — претензий не будет.
Согласен. Новая аська со старой не имеет абсолютно ничего общего, кроме наличия UIN. Это два разных мессенджера. Но если отбросить «неприятно» и проблему названия, то новая аська объективно ничем не уступает своим конкурентам по соотношению плюсов и минусов.
Вайбер похоронен? Да он стандарт де-факто среди пенсионеров и людей далеких от интернета.
а аську стоит хоронить так как есть телеграмм и вотсап
Я параллельно сижу в телеге и в аське, и современная аська в некоторых моментах даже удобнее, уж извините. Псевдобезопасность телеги создает иллюзию преимущества.
<сарказм>
Рекомендую так же не использовать обращение к атрибутам через точку (some_object.some_attr). Ведь если атрибут отсутствует, мы получим AttributeError. Используйте функцию getattr или метод __getattribute__().
Вообще рекомендую воздержаться от использования потенциально опасных методов структур данных, которые выбрасывают ошибку, например, remove() или index()
По этим же причинам не стоит использовать срезы. Используйте вместо них циклы.
Ибо ошибки это плохо, а мы хотим быть хорошими программистами
</сарказм>
А ждать, что придёт добрый дядя и скажет: «Ты просишь 200 — как-то это мало. Вот тебе 300 и сам можешь выбирать, чем хочешь заниматься» — это какая-то запредельная инфантильность.
Ну так и наберете себе команду тех, кто умеет торговаться. А профессионалы будут работать там, где оценивают по достоинству.
Подскажите, я ответил на Ваш вопрос, Вы согласны с указанными доводами?
Я честно не понял, как mmap() поможет конкретно в ситуации, когда я загружаю файл целиком в память одним сисколом для чтения. Мне кажется, должно быть даже медленнее через mmap().
дополню — а как Вы будете считывать 16ГиГ файл при доступной ОЗУ всего 1 ГиГ?
Я вообще говорил о гипотетической ситуации загрузки файла в память целиком одним системным вызовом. Очевидно, не стоит этого делать, если у вас памяти 1 гиг, а файл 16 гигов.
Поэтому я и спросил, как загрузка через mmap() ускорит или сэкономит память, если mmap() загружает данные по требованию, а не сразу весь файл в память?
mmap() позволяет очень сильно ускорить работу с файлами
Я всё еще не понял, как mmap должен ускорить работу в данном случае. Задача: прочитать целиком большой файл, ничего писать не надо. Я предположил загрузить файл в память целиком. Как в этой ситуации mmap ускорит IO или сэкономит память?
Да, только это разные конструкции. Вы привели тернарный оператор, который работает совсем иначе. А автор писал вообще про другое. В его примере вообще цикл. Мой пример в тему, ваш — нет. А про циклы я уже наприводил кучу примеров на разных языках немного выше
Честное слово, лучше бы не приводили. У меня от PHP ни одного приятного впечатления никогда и не было.
Речь не о том, нравится или не нравится, а о том, что дело не в питоне, а в типизации (не прямо, но косвенно). О чем я и толкую.
При чем тут вообще типизация, речь про область видимости объекта. После С/С++/js/добавьте по вкусу ожидаешь, что синтаксический блок создает новую область видимости, а в python это не так.
Окей, этот же код привожу на JS, переменная при выходе из блока не уничтожается:
if (a==1){
b = 1;
} else {
b = 2;
}
document.write(b);
Еще раз повторяю свой вопрос: вы уверены, что не путаете блок кода с областью видимости? Я уже на трех языках продемонстрировал, что область видимости и блок кода — это разные вещи.
Еще один пример JS (такой же пример используется в статье, но на питоне):
for (var i = 0; i < 9; i++) {
document.write(i);
}
document.write(i);
Смотрите ка! Тут тоже переменная i не уничтожается при выходе из блока. Python, PHP, JS (все с динамической типизацией) — везде одинаково работает. Как мне еще это написать, чтоб вы поняли наконец, что блок кода и область видимости — разные вещи, и что питон тут не причем?
Этот же код НЕ будет работать на C++:
for (int i = 0; i < 9; i++ ){
cout << i;
}
cout << i;
Угадаете, почему? Потому что для языков с динамической типизацией подобное поведение считается нормальным, хоть и не обязательным. И говорить, что это недостаток питона — это непонимание вопроса.
Ну в этом и есть польза, чтоб низкочастотники из нескольких слов не набирать полностью. Например вы хоитите загуглить что такое «обсессивно-компульсивное расстройство», но даже не знаете точно, как это пишется. Вводите «обессив», и первым пунктом видите желаемое.
Другое дело, что в вивальди плохо реализованы эти подсказки. Первым пунктом зачем-то выдается абсолютно лишний пункт, который только мешается «искать обессив». Зачем он? Плюс в это же место часто вклиниваются какие-то набранные адреса, что дополнительно мешает. В хроме превосходно работают подсказки, попробуйте.
Аналогичный эффект с автодополнением в адресной строке. Хром всегда угадывает, что мне нужно, вивальди — практически никогда.
Я параллельно сижу в телеге и в аське, и современная аська в некоторых моментах даже удобнее, уж извините. Псевдобезопасность телеги создает иллюзию преимущества.
Вопрос, почему следует хоронить аську, а не вайбер?
Рекомендую так же не использовать обращение к атрибутам через точку (some_object.some_attr). Ведь если атрибут отсутствует, мы получим AttributeError. Используйте функцию getattr или метод __getattribute__().
Вообще рекомендую воздержаться от использования потенциально опасных методов структур данных, которые выбрасывают ошибку, например, remove() или index()
По этим же причинам не стоит использовать срезы. Используйте вместо них циклы.
Ибо ошибки это плохо, а мы хотим быть хорошими программистами
</сарказм>
Ну так и наберете себе команду тех, кто умеет торговаться. А профессионалы будут работать там, где оценивают по достоинству.
Поэтому будет здорово, если объясните.
Поэтому я и спросил, как загрузка через mmap() ускорит или сэкономит память, если mmap() загружает данные по требованию, а не сразу весь файл в память?
Я всё еще не понял, как mmap должен ускорить работу в данном случае. Задача: прочитать целиком большой файл, ничего писать не надо. Я предположил загрузить файл в память целиком. Как в этой ситуации mmap ускорит IO или сэкономит память?
Окей, этот же код привожу на JS, переменная при выходе из блока не уничтожается:
Еще раз повторяю свой вопрос: вы уверены, что не путаете блок кода с областью видимости? Я уже на трех языках продемонстрировал, что область видимости и блок кода — это разные вещи.
Еще один пример JS (такой же пример используется в статье, но на питоне):
Смотрите ка! Тут тоже переменная i не уничтожается при выходе из блока. Python, PHP, JS (все с динамической типизацией) — везде одинаково работает. Как мне еще это написать, чтоб вы поняли наконец, что блок кода и область видимости — разные вещи, и что питон тут не причем?
Этот же код НЕ будет работать на C++:
Угадаете, почему? Потому что для языков с динамической типизацией подобное поведение считается нормальным, хоть и не обязательным. И говорить, что это недостаток питона — это непонимание вопроса.