FindBugs — это статический анализатор кода для Java с открытым исходным кодом (под LGPL). Он содержит множество детекторов, которые определяют те или иные проблемы в коде. С недавних пор я являюсь участником проекта и пишу для него новые детекторы. Об одном из них я и расскажу в этой статье. Также мы посмотрим примеры багов, найденных в реальных проектах.
Читать полностью »
Рубрика «разработка» - 243
Контроль диапазонов целых чисел в FindBugs
2014-12-16 в 4:12, admin, рубрики: findbugs, java, open source, граф потока управления, Программирование, разработка, статический анализ кодаКак показать самые опасные уязвимости
2014-12-15 в 14:35, admin, рубрики: Блог компании Positive Technologies, информационная безопасность, разработка, уязвимостиПо долгу службы мне часто приходится проводить инструментальный аудит безопасности различных предприятий. Процедура составления итогового отчета содержит одну неприятную особенность, от которой мне давно хотелось избавиться. Помимо наиболее опасных уязвимостей системы клиенту всегда надо показывать ссылки на общедоступные эксплойты для этих ошибок. И эти ссылки приходилось искать вручную.
В большинстве случаев заказчик принимает какие-либо серьезные меры по защите — только если знает о хакерских инструментах, которые автоматизируют атаки через найденные у него уязвимости. Обнаруженные дыры сами по себе не пугают, а такие программы — очень даже: благодаря им натянуть черные шляпы может целая армия школьников, кулхацкеров, недовольных экс-сотрудников и диверсантов из конкурирующих организаций. Создатель Grsecurity Брэд Шпенглер говорил, что только публичные эксплойты производят изменения в общественном понимании уровня существующей безопасности, и мой опыт полностью подтверждает эту мысль.
В какой-то момент я понял, что поиск ссылок на эксплойты — работа хотя и важная, но настолько рутинная и механическая, что просто грех ее не автоматизировать. Вначале был написан простенький консольный скрипт, который постепенно обзавелся GUI и научился понимать различные форматы отчетов систем поиска уязвимостей. Все доработки и улучшения PT Exploit Explorer в дальнейшем проводились исходя из пожеланий пользователей, и этот процесс продолжается до сих пор.Читать полностью »
Ад визуализации 1.1 — Книга 1: Обзор
2014-12-15 в 14:07, admin, рубрики: game development, Gamedev, how it works?, Программирование, Работа с анимацией и 3D-графикой, разработка
Недостаток знаний иногда может оказаться достоинством, потому что вы наивно говорите себе: «Пфф… разве это сложно?» и просто погружаетесь в проблему с головой. Я начал эту статью с размышления: «Хм… Что же такое Draw Call?». За время «5-ти минутного» исследования я так и не нашел удовлетворяющего меня объяснения. Я проверил часы и, так как до сна оставалось еще 30 минут, сказал…
Пфф… Разве это сложно написать самостоятельно?
… и просто начал. Это было два месяца назад и с тех пор я непрерывно читал, писал и задавал много вопросов.
Это было самое сложное и низкоуровневое исследование, которое я когда-либо делал, и для меня непрограммиста это был кошмар состоящий из «да, но в этом особом случае...» и «зависит от реализации API...». Это был мой личный ад визуализации, но я прошел через него и принес нечто с собой: Четыре книги, каждая из которых представляет собой попытку объяснить одну из частей визуализации с точки зрения художника. Я надеюсь, что вам понравится.
Читать полностью »
Поддержка мобильных продуктов: задачи, процессы, инструментарий
2014-12-15 в 7:05, admin, рубрики: Help Desk Software, mobile development, Блог компании REDMADROBOT, разработка, разработка под iOS, техподдержкаОсновная специализация нашей компании — сервисные приложения для самообслуживания клиентов финансовых, страховых и телекоммуникационных компаний. И тут есть некоторая специфика. С одной стороны, эти компании имеют свои департаменты обслуживания клиентов, которые принимают на себя первую волну вопросов и жалоб пользователей. С другой — поддержка таких приложений требует повышенного уровня предоставления услуг, который привязан к уровню сервиса компании-заказчика.
Директор департамента поддержки и развития мобильных приложений Redmadrobot Александр Алехин (alekhinsasha) делится опытом организации процессов.
От математики к обобщенному программированию
2014-12-12 в 13:01, admin, рубрики: Алгоритмы, Блог компании Издательский дом «Питер», логика, математика, обобщённое программирование, Программирование, разработка Здравствуйте!
Всего месяц назад в издательстве Addison-Wesley вышла книга Александра Степанова — русско-американского учёного в области IT — «From Mathematics to Generic Programming».
Наверняка многие знакомы с его работой «Начала программирования», выходившей в 2011 году в «Вильямсе».
Читать полностью »
Приглашаем на GDG DevFest Воронеж 2014
2014-12-12 в 7:49, admin, рубрики: Android Wear, data art, developers, devfest, Google, mobile development, Блог компании Google, Носимая электроника, разработкаПоклонники Google, разработчики и энтузиасты, ждем вас на третьей ежегодной конференции GDG DevFest Воронеж 2014, которая пройдет 13 и 14 декабря (не путать с GDG DevFest Omsk).
Выступления экспертов, доклады о самых животрепещущих в Google-мире вопросах, общение с единомышленниками, море веселья и заряд положительных эмоций на грядущий год — все это ждет вас на GDG DevFest. Поговорим о Wearables, Google Glass, Polymer, Android-разработке, браузерах, Material Design и многом-многом другом.
Читать полностью »
Прозрачная аутентификация в Redmine
2014-12-12 в 5:55, admin, рубрики: plugins, redmine, single sign on, SSO, usability, аутентификация, безопасность, разработка, системное администрирование, управление проектамиСегодняшний пост будет про удобство использования Redmine в корпоративной среде, а если быть точнее, про прозрачную авторизацию пользователей Redmine в домене Microsoft Active Directory.
Мы используем Redmine как единую информационную среду, в которой работают все сотрудники компании. Вводить один и тот же пароль дважды — это всегда неудобно. Поэтому, мы настроили прозрачную аутентификацию через домен.
Генератор отчетов ActivityManager. Очередной велосипед, но в профиль
2014-12-11 в 16:20, admin, рубрики: .net, microsoft office, open source, OpenOffice, отчеты, разработка ActivityManager — это менеджер формирования отчетов, базирующийся на замене шаблонных строк.
Основными особенностями ActivityManager являются:
- Независимость от источника данных: поддерживаются все СУБД, для которых существуют провайдеры .Net, и не только;
- Формирование шаблонов без использования COM: все отчеты формируются непосредственно в XML;
- Поддержка форматов отчетов ods, odt, docx, xlsx. Независимость от наличия текстового процессора на конечном компьютере пользователя: эта особенность вытекает из предыдущей;
- Наличие механизмов пред-обработки данных: изменение формата представления ФИО, денежных сумм, целых, вещественных чисел и дат, в том числе и возможность изменения падежа, в котором должны быть представлены конечные данные;
- Наличие механизмов пост-форматирования данных;
- Простота использования и расширения благодаря наличию редактора конфигурации отчетов и простой плагинной архитектуре.
Конфигурацию отчета при помощи ActivityManager можно условно разделить на 3 части: выборка данных, их обработка и непосредственно формирование отчета. Подробную информацию по каждому из этапов смотри в соответствующих разделах.
Читать полностью »
Пример написания функциональных требований к Enterprise-системе
2014-12-11 в 14:05, admin, рубрики: ERP-системы, Анализ и проектирование систем, проектирование, разработка, системный анализ, требованияНедавно мой друг, программист, рассказал, что он не читает требования, а вместо этого приглашает аналитика на чашку чая, они вместе садятся, и аналитик рассказывает, что должно быть реализовано. Мой друг — умный человек и хороший программист, и причина, почему он получает знания о требованиях именно так, не в том, что ему лень читать документацию, а в том, что, даже прочитав ее, он до конца не разберется, что же надо сделать. В данной статье я хочу рассказать, как можно написать требования к программному продукту так, что программисты не просто используют требования, но и участвуют в их написании; на основе собственно опыта я хочу показать, каким образом можно описать требования, чтобы эти описания были достаточными для реализации системы.
Целью нашей разработки было создание с нуля учетной системы для одной из крупных российских компаний. Система была призвана заменить текущую, написанную в конце 90-х. В результате были реализованы платформа и один из бизнес-модулей. В реализованной части было порядка 120 объектов, 180 таблиц, около 30 печатных форм.
Хочу оговориться, что подход, описанный ниже, не универсален для написания любого ПО. Он подходит для систем уровня предприятия, которые строятся на основе объектно-ориентированного подхода: учетных, CRM-, ERP-систем, систем документооборота и т.п.
Вся документация на наш программный продукт состояла из следующих разделов:
- Общая часть
• Список терминов и определений
• Описание бизнес-ролей - Требования
• Бизнес-требования- Общие сценарии
- Сценарии использования
- Алгоритмы и проверки
• Системные требования
• Нефункциональные требования
• Требования к интеграции
• Требования к пользовательскому интерфейсу - Реализация
- Тестирование
- Руководства
- Управление
Помогаем пользователю подтвердить Email
2014-12-11 в 11:13, admin, рубрики: e-mail, email, growth hacking, sign-up, signup, usability, интерфейсы, подтверждение почты, почта, разработка, регистрация, электронная почтаЕсли у вас есть сайт или приложение, которые при регистрации нового пользователя просят подтвердить адрес электронной почты, у меня для вас есть совет и небольшая таблица с данными, которые помогут сделать процесс регистрации проще и удобнее для пользователя, а также позволят немного поднять процент конверсии посетителей в пользователи.
Что происходит после того, как пользователь указывает свой email в форме регистрации и отправляет форму на сервер?
Читать полностью »