Python — красивый и местами загадочный язык. И даже зная его весьма неплохо, рано или поздно находишь для себя нечто такое, что раньше не использовал. Этот пост отражает некоторые детали языка, на которые многие не обращают внимание. Сразу скажу: многие примеры являются непрактичными, но, оттого, не менее интересными. Так же, многие примеры демонстрируют unpythonic стиль, но я и не претендую на новые стандарты — я просто хочу показать, что можно делать вот так.
Читать полностью »
Метка «хитрости»
Python: вещи, которых вы могли не знать
2014-01-01 в 17:10, admin, рубрики: python, списки, хитрости, метки: python, словари, списки, хитростиХитрый трюк в рекламе Microsoft
2013-05-23 в 19:34, admin, рубрики: ipad, microsoft, геометрия, планшеты, реклама, хитрости, метки: iPad, microsoft, геометрия, реклама, хитростиВчерашняя провокационная реклама Microsoft против планшетов iPad вызвала массу споров. Среди доводов критиков есть один аргумент, который объективно уличает рекламу Microsoft во лжи. Речь идет о страничке на официальном сайте, где сравниваются технические характеристики iPad и планшетов под Windows 8.
Вот как показана на сайте разница в размере экрана iPad (слева) и планшета Asus VivoTab Smart (справа).
Левая картинка имеет размер 102×79 пикселов, а правая — 140×78. Создаётся впечатление, что экран Asus на 36% больше по площади, чем экран iPad.
Читать полностью »
Раскрываем магию MySQL или о строгости и мягкости MySQL
2013-01-21 в 8:20, admin, рубрики: mysql, php, хитрости, метки: mysql, хитрости Очень часто в интернете встречаюсь со статьями, в которых приводят кучу примеров с якобы странным поведением MySQL по сравнению с другими БД. Чтобы стало понятно, о чём я говорю, приведу несколько примеров:
1. Деление на ноль возвращает NULL вместо ошибки
2. Выход за диапазон допустимых значений неявно приводит число к допустимому значению, а не к ошибке и откату транзакции
3. Вставка неверного типа данных также приводит к неявному преобразованию и успешному выполнению операции
Таких примеров я могу привести огромное число, но цель статьи не сделать очередное собрание высосанных из пальца примеров, а объяснить, почему происходит то или иное действие. Вся эта мистика MySQL давно описана в документации и легко объяснима, в чём вы сможете убедиться сами, прочитав статью до конца.
Для меня эта первая статья на хабре, поэтому я старался писать дотошно подробно. Уверен, что она будет полезна всем, кто работает с MySQL. Большую помощь в написании статьи оказала подготовка к сдаче на сертификат разработчика MySQL, а точнее книга «MySQL Certification Study Guide».
Итак, мой друг, начнём!
Читать полностью »
Управление памятью в реальном режиме Windows
2012-10-15 в 7:45, admin, рубрики: windows, Алгоритмы, старое железо, управление памятью, хитрости, метки: управление памятью, хитростиНедавно Реймонд Чен завершил серию постов, начатую ещё полтора года назад, и посвящённую управлению виртуальной памятью безо всякой поддержки со стороны процессора: Windows до версии 3.0 включительно поддерживала реальный режим 8086. В этом режиме трансляция адреса из «виртуального» (видимого программе) в физический (выдаваемый на системную шину) осуществляется бесхитростным сложением сегмента и смещения — никакой «проверки доступа», никаких «недопустимых адресов». Все адреса доступны всем. При этом в Windows могли одновременно работать несколько программ и не мешать друг другу; Windows могла перемещать их сегменты в памяти, выгружать неиспользуемые, и по мере необходимости подгружать назад, возможно — по другим адресам.
(Интересно, всегдашние холиворщики «это была графическая оболочка, а не операционная система» в курсе об этих её необычайных способностях?)
Читать полностью »