Для борьбы с проблемой «висячих» ссылок на освобожденные объекты в Delphi обычно используется процедура SysUtils.FreeAndNil. Процедура FreeAndNil освобождает объект и устанавливает переменную в nil.
Но мне всегда не нравилось то, что в этой процедуре не типизированный параметр. И туда можно передать не только объект, но и строку, число и любую переменную. Естественно при вызове с таким некорректным параметром будут проблемы. Что самое неприятное проблемы могут вылезти совсем в другом месте.
Мне хотелось бы чтобы компилятор меня контролировал, желательно на этапе компиляции. Но увы найти решение при котором компилятор ругался на попытку вызвать процедуру освобождающую и обнуляющую, с параметром не совместимым с TObject мне не удалось. Зато я нашел метод при котором такая попытка обнаруживалась на этапе выполнения при первом вызове. В общем, лучше один раз увидеть. Вот код более безопасного аналога FreeAndNil.
Читать полностью »
Новости информационных технологий - 22521
Эти незаменимые регистрационные карточки
2013-04-21 в 14:17, admin, рубрики: История ИТ, старое железо
Продолжается цикл постов, посвященных старинной офисной технике.
В прошлых постах я рассказывал о русских счетах и приспособлениях для копирования, в настоящем посте предлагаю вниманию хабравчан иллюстрированный обзор о регистрационных карточках.
Пост длинный из-за множества картинок.
Читать полностью »
Основы безопасности операционной системы Android. Native user space, ч.2
2013-04-21 в 13:42, admin, рубрики: android, Android OS, безопасность, информационная безопасность, Разработка под android, метки: Android OS, безопасностьВступление
Сегодня я продолжу рассматривать безопасность на уровне немного выше ядра. Во второй части мы рассмотрим, откуда появляются system.img, userdata.img и cache.img, а также как обеспечивается безопасность в Native user space.
Всем кому интересно, добро пожаловать!
Читать полностью »
Самый медленный компьютер на Linux
2013-04-21 в 12:50, admin, рубрики: avr, diy или сделай сам, linux, два чаю этому господину, Программинг микроконтроллеров
Часто люди, только купившие себе новенький восьмибитный микроконтроллер интересуются, как запустить на нём Linux. Но обычно они становятся лишь объектом насмешек. А на форумах по Linux'у порою проскакивают вопросы, мол какие нужны минимальные харрактеристики для запуска операционки. Самый частый ответ — 32 битная архитектура, MMU и как минимум 1 мб оперативной памяти. Мой проект ломает эти стереотипы. Компьютер основан на ATmega1284p. Я даже сделал ещё один на ATmega644a, и он тоже работал. Нет больше никакого процессора или других спрятанных частей. Всё это работает на версии ядра 2.6.34, и даже (если у вас есть на это время), грузит полноценную Ubuntu, с X сервером и Gnome.
Читать полностью »
Клавиатура для дизайнеров — нужна ли? Или как я вижу идеальную клавиатуру
2013-04-21 в 12:03, admin, рубрики: diy или сделай сам, Гаджеты. Устройства для гиков, дизайн, Дизайн в IT, ищу соратника, компьютерная графика, прототипы, метки: дизайн, ищу соратника, компьютерная графика, прототипыЯ как дизайнер, сталкивался с проблемой когда рисуешь на планшете нужно еще и горячие клавиши нажимать, плюс постоянное переключение инструментов… иногда это так бесило.
Однажды я подумал а почему собственно не совместить графический планшет и клавиатуру?
Да, знаний в электротехнике у меня мало (в основном занимался ремонтом телефонов, по типу — заменить кнопочку или конденсатор, поставить перемычку)
В схемах я не особо разбираюсь, да и образования особого нету. Но зато учусь уже третий год в одной украинской компьютерной академии на дизайнера, так что решил пока ограничиться рисунком. рисовал из принципа — то что мне будет удобно.
Попытка развенчания мифов об OpenVZ, или VPS на OpenVZ vs Xen/KVM/Hyper-V/etc
2013-04-21 в 11:54, admin, рубрики: hyper-v, kvm, open source, openvz, vds, vps, vps хостинг, xen, виртуализация, мифы, хостинг, метки: hyper-v, kvm, openvz, vds, vds хостинг, vps, vps хостинг, xen, мифыПопытка развенчания мифов об OpenVZ, или VPS на OpenVZ vs Xen/KVM/Hyper-V/etc
По какой-то непонятной для меня причине на Хабрахабре сложилось негативное отношение к технологии OpenVZ вообще, и к OpenVZ хостингу в частности. Этот пост попытка развенчать мифы, касающиеся OpenVZ хостинга, Хотя на мой взгляд, OpenVZ так же едва ли не лучшее решение для разделения моногенных (Linux-only сервисов) внутри предприятия на собственных серверах.
Я не являюсь заинтересованным лицом, пишу пост не от имени своего работодателя, а от самой себя.
Итак, тезис: бюджетные Linux VPS на OpenVZ, как правило, работают быстрее и стабильнее, чем бюджетные VPS, использующие гипервизоры. Дорогие VPS на гипервизорах, в «облаках» или с фиксированным тарифным планом, лучше, чем дорогие VPS на OpenVZ.
Nokia: итоги квартала
2013-04-21 в 10:42, admin, рубрики: burning platform, MeeGo, nokia, stephen elop, symbian, windows phone, горящая платформа, Смартфоны и коммуникаторы, Стивен Элоп, элоп, эффект элопа, метки: burning platform, MeeGo, nokia, stephen elop, symbian, windows phone, горящая платформа, стивен элоп, элоп, эффект элопаВосемнадцатого апреля компания Nokia выпустила (с опозданием на несколько часов) отчёт по итогам первого квартала. Итоги, конечно, были предсказуемы, но, мне кажется, стоит остановить на них внимание. Потому я приготовил краткий обзор ситуации для тех, кому может быть интересна данная тематика.
Питер Мольине столкнул два варианта монетизации в Curiosity
2013-04-21 в 8:55, admin, рубрики: game development, игра, монетизация, метки: игра, монетизацияИгра Curiosity от Питера Молинье – это куб, от которого множество пользователей со всего мира отщипывают чешуйки, удаляя слои в надежде добраться до его сердцевины, где скрыта некая тайна.
В последнем обновлении автор добавил во встроенные покупки возможность не только удалять элементы куба, но и наоборот — наращивать их обратно. За разные суммы можно добавить от 10 до 500 тысяч элементов.Читать полностью »
Border Gateway Protocol. Лабораторная работа
2013-04-21 в 8:40, admin, рубрики: BGP, GNS3, Песочница, Сетевые технологии, Телекомы, метки: BGP, GNS3 Привет! Моя первая статья и в ней я хочу представить небольшую лабораторную работу по конфигурации протокола BGP (Border Gateway Protocol) на маршрутизаторах Cisco. Многие из вас слышали что такое BGP, но не всем довелось опробовать данный протокол на практике. Именно для них и будет интересна данная лабораторная работа.
В статье будет мало теории, поэтому для тех кто впервые слышит о BGP отправляю сначала посетить это, это или, собственно, это.
Читать полностью »
Редактирование своей статьи на Хабре через выделение цитаты в HabrAjax; поддержка Iceweasel
2013-04-21 в 13:33, admin, рубрики: css, Firefox 3.6, greasemonkey, HabrAjax, javascript, ZenComment, метки: Firefox 3.6, HabrAjax, ZenCommentВ скрипте HabrAjax (113.2013.04.20) добавлено удобное редактирование исправлений в собственных статьях. Достаточно просто выделить уникальный участок текста и среди контекстных кнопок выбрать кнопку <E>. В фрейме половинной высоты откроется поле ввода с выделением именно на том месте, которое было выделено.
Также, обеспечена поддержка браузеров Iceweasel (на основе Fx3.6) в Дебиане и возвращена поддержка Firefox 3.6 в остальных ОС (но там будет иметься проблема установки старой версии Greasemonkey, актуальной для 3.6). Потенциальная аудитория — 1% от остальных пользователей Firefox.
Аудитория пользователей HabrAjax и направленность статьи
Среднее число пользователей скрипта — 40-60 человек. Поэтому, если статью прочитает 3000 человек, то практический интерес она может иметь только для 1.5% читателей. Пусть, ещё 10% будут иметь желание попробовать скрипт. Но не более. Потому что скриптами вообще пользуются немного людей. Остальным — достаточно узнать, что функции, сделанные для удобства пользования, имеются в том или ином скрипте.
Читать полностью »