Статьи

Unit тесты

Если бы строители мостов строили мосты так же, как программисты пишут код, то их следовало бы расстрелять. От строителей мостов зависят жизни тех, кто пользуется этими мостами и они явно чувствуют и знают свою ответственность. Чтобы свести к минимуму вероятность ошибки, во всех отраслях используют запасы прочности и различные методы тестирования.

Защита от выполнения во фрейме

Вроде бы какая может быть проблема, если кто-то запустит ваше приложение внутри фрейма? Но нет, проблема действительно тут есть. Если вы разрешаете выполнение приложения во фрейме, то у хакера появляется возможность попробовать воровать донные ваших пользователей.

Освобождение ресурсов в .NET приложениях

У C# есть одно очень большое преимущество и в то же время большой недостаток – автоматическая сборка мусора. При классических Desktop приложениях это прекрасно, когда платформа за нас убирает весь мусор и освобождает память, но в Web, это далеко не всегда так хорошо.

Оптимизация баз данных, индексы

Я заметил, что далеко не многие понимают, как работают индексы в SQL Server и особенно Included Columns, а ведь это отличный способ оптимизации запросов. Я сам сначала не понял, что это за фигня – включаемые колонки, но мои опыты показали, что это очень удобная фишка.

Безопасность в PHP - системные команды

Язык PHP интерпретируем, и можно считать, что он узконаправлен, потому что основное его предназначение – WEB программирование. Свою задачу по формированию WEB страниц и обращению к базам данных он выполняет отлично. Но он не всесилен. В PHP может быть обращения к железу или других низких функций, например, управление безопасностью в ОС. Это связано еще и с тем, что безопасность на каждой платформе разная и архитектура в Windows и Linux отличается. Чтобы получить доступ к возможностям, которых нет в языке, можно обращаться к ОС и программам на других языках.

Использование интерфейсов

Последняя моя статья про проектирование кода вызвала достаточно положительные эмоции, и были даже предложения написать книгу. Не вижу смысла делать это прямо сейчас, а может быть и вообще. Я решил лучше написать для начала несколько заметок для сайта. Ну а потом уже посмотрим, что делать.

Как стать программистом?

Работа программиста разнообразна и все зависит от того, что именно программировать. Настраивать 1С это попса, а вот писать свои базы данных – это совсем другая песня в стиле Rammstein :). Программирование графики и игр может быть полезным и интересным, а исправление ошибок в чужом коде это уже напоминает прием у врача-проктолога. Работа программера напоминает страшную историю. Это страшилка, которой можно пугать людей, и я сейчас расскажу ее тебе.

Боевые действия в условиях ограниченной видимости

Даже при наличии 512 мегабайт, расходовать память, не думая о последствиях глупо. Дело в том, что Windows XP в домашней редакции уже съедает от этого объема 128 метров, а профессиональная редакция отнимает все 256. Всякие примочки и побрякушки в районе часов, антивирусы и сетевые экраны могут отнять еще 64 метра. Получается, что для других приложений остается не так уж и много места. Если одновременно будет запущен Delphi 2006, 3DS Max и Photoshop, то работа станет невыносимой, ведь эти монстры сжирают оперативку хуже вирусов.

Интервью с разработчиками FastReport

Не так давно и не так недавно мне посчастливилось взять интервью у одного из сотрудников FastReport. Мне это было приятно вдвойне, потому что я уважаю разработчиков FastReport за их труд и рад, что они из Ростова-на-Дону - города, где я родился и вырос. Сегодня я выкладываю это интервью. Его очень интересно будет почитать.

Безопасность баз данных на примере Oracle

Не секрет, что, в наше время миром правит информация. Если предприятие дорожит своей интеллектуальной собственностью, если каждый работник может легко получить необходимую (и не более того) информацию, то предприятие может надеться на рост. Если данные находятся в хаосе… несмотря на энтузиазм сотрудников, в большинстве случаев предприятие ожидает крах.

Совместный доступ к данным

Чем больше количество одновременно работающих с базой данных пользователей, тем больше вероятность встретиться с конфликтом одновременного редактирования одной и той же строки. Что делать серверу, если два пользователя одновременно пытаются обновить одну и ту же запись? Можно принять то изменение, которое пришло позже, но тогда один из пользователей будет видеть у себя некорректные данные. А самое страшное, он будет думать, что все в порядке. Как разрешить подобные проблемы?

Совместная разработка кода или Разделяй и властвуй (Часть 1)

В одиночку написать корпоративное приложение достаточно проблематично. Одна, даже очень умная голова, даже при использовании современных визуальных средств, сможет создать только небольшую утилиту не более 10 000 строк. Иметься ввиду – в разумные сроки. Если программа больше, то на ее создание уйдет очень много времени. Чтобы сократить время разработки, приходиться набирать команду программистов. Но 10 хороших умов – это хорошо, но их еще нужно организовать и обеспечить нормальную совместную работу, чтобы никто и никому не мешал.

О блоге

Программист, автор нескольких книг серии глазами хакера и просто блогер. Интересуюсь безопасностью, хотя хакером себя не считаю

Обратная связь

Без проблем вступаю в неразборчивые разговоры по e-mail. Стараюсь отвечать на письма всех читателей вне зависимости от страны проживания, вероисповедания, на русском или английском языке.

Пишите мне