Новости информационных технологий - 26490

Тестировать или нет классы, взаимодействующие с Базой данных — вопрос куда более холиварный, чем спор «покрывать код тестами или нет». Просмотрев свой проект, нам стало очевидно, что львиная доля классов основана на взаимодействии с базой данных. Поэтому было однозначно решено: «тестированию быть».
Далее я хочу поделится опытом написания модульных тестов для кода, работающего с базой данных.

PHPUnit содержит расширение для тестирования базы данных. Расширение выполняет следующие функции:

  • перевод базы данных в заранее известное состояние,
  • выполнение необходимых модификаций данных,
  • проверка, что в базе данныхЧитать полностью »

Заставляем компьютер играть любимые мелодии с помощью WinAPI В этой статье я расскажу о том, как очень просто с помощью C++ Builder XE2 и WinAPI сделать так, чтобы системный динамик компьютера играл мелодии. Сразу скажу, что люди, не обладающие хотя бы элементарными познаниями в музыке, врядли смогут этим воспользоваться.

Итак, нам понадобятся всего лишь две функции — Beep() и Sleep(). Первая принимает два параметра — частоту и длительность ноты, вторая один — длительность задержки. Время указывается в миллисекундах. Частоты нот можно найти тут.

Хит прошлого года — «Барбара Стрейзенд»:

<codeЧитать полностью »

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

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

В недавно вышедшей Visual Studio 11 Beta встроена новая и главная фишка будущего C# 5 — асинхронное программирование с помощью async/await. Про нее уже написано достаточно много статей в том, числе на хабре — например, эта серия статей. Однако, я для себя так и не понял в чем суть нового синтаксиса, пока сам не попробовал его в деле. Данная статья — попытка самому структурировать и до конца разобраться с этим достаточно интересным инструментом и поделиться результатами с сообществом, рассказав про него немного иначе. Итак, поехали…

Зачем это нужно?

C# активно развивающийся язык вЧитать полностью »

Статистика President2012.ru Друзья, я хочу вам рассказать историю развития проекта president2012.ru. Сайт является лидером по тематике выборов президента России, за 3 месяца его посетило около 2 млн. человек, в пике имел до 20 тыс. посетителей онлайн и более 1 млн. хитов в сутки, задействовано было 3 сервера облака.

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

Почта в своей конторе разрослась и наличие более чем 1 рабочего места у более чем 1 сотрудника начали требовать большего, нежели простейшая реализация мультидоменного почтового сервера на базе exim+teapop без использования mysql на обычных файликах. Главная причина изменений — постоянное вычищение спама и просто ненужных писем на каждом из рабочих мест по многу раз начало доставать, и было принято решение реализовать-таки почту по известной статье лиссяры "Связка exim и courier-imap". Самое главное, чего в ней не хватало из того, что требовалось, так это сортировщика писем по папкам. Для того, ктоЧитать полностью »

Что имелось вначале

Крупная enterprise-система, являющаяся основной платформой компании. В состав входит ядро системы и набор плагинов под разные задачи. Плагины развиваются независимо друг от друга, требуют внесения изменений и расширений в общие библиотеки.

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

Поэтому было принято волевое решение создать инфраструктуру и настроить сценарии для автоматизации сборки проекта под разныеЧитать полностью »

Юзерскрипт: кроссбраузерно, кроссдоменноРазработка юзерскрипта HabrAjax преодолела свои очередные проблемы с кроссбраузерной поддержкой новых функций и создала плеяду статей (7 штук, ещё не опубликованных) по разным вопросам, связанным в основном с юзерскриптами и их кроссдоменным доступом. Все эти статьи нетривиальны, в интернете их темы освещаются частично, а некоторые не освещаются даже в описаниях багов браузеров (или автору неизвестны иноязычные решения). Статьи придётся выкладывать в произвольном порядке, потому что нет оснований как-либо их упорядочивать — каждая связана с другой лишь поЧитать полностью »

imageПройдя сквозь огонь, воду и медные трубы, набив себе шишек о подводные камни и получив бесценный опыт поднятия интернет-проекта с нуля до единицы смысла, мы объявляем об открытии кредитного сервиса Conpay.ru.

Пролог

Почти полгода назад, 3 сентября 2011 года мы начали разработку кредитного сервиса Conpay.ru. Задача, поставленная перед командой, была определена очень просто: дать возможность покупателям интернет-магазинов приобретать товары в кредит. Но, не смотря на простоту в определении этой задачи, для ее решения нам пришлось наЧитать полностью »

Я рад сообщить, что видео вебинаров, которые провел в течении месяца опубликованы на сайте TechDays.

Будущее ASP.NET и Visual Studio 11 для веб-разработчиков

http://www.techdays.ru/videos/4196.html

В рамках вебинара я познакомлю вас с нововведениями в среде разработки и новшествами во фреймворках, призванными повысить эффективность программиста, Вашему вниманию будет представлен новый удобный инструмент Page Inspector, интегрирующийся в Visual Studio 11. Я расскажу про нововведения в ASP.NET WebForms последней версии, направленные на упрощение разработки и значительное повышение эффективностиЧитать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js