Рубрика «.net» - 240

С технической точки зрения юнит-тесты – это очень простой инструмент, основанный на паре несложных концепций: (1) тестируемый класс, (2) набор тестовых методов, завернутых в некоторый класс и (3) набор методов, с помощью которых можно удостовериться в том, что состояние тестового класса соответствует (или не соответствует) некоторому значению.

Это очень простая штуковина, которая может кардинальным образом повлиять на процесс разработки в целом. С одной стороны существует TDD (“test-first approach), при котором тесты «драйвят» не только процессом кодирования, но и процессом проектирования (т.е. дизайном системы). С другой стороны существуют разработчики с противоположной точкой зрения, которые считают юнит-тесты пустой тратой времени, потому что они не приносят никакой ценности пользователю.

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

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

Основные требования:

  • Отображение списка файлов.
  • Загрузка и скачивание через интерфейс программы.
  • Скрытая авторизация без участия пользователя.

Первое что пришло на ум — использовать облачное хранилище данных с доступом по API. Итак, что из этого вышло?

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

Детерминированный конечный автомат можно использовать для реализации очень быстрого способа разбора входной последовательности. Требуется всего один проход по входной последовательности, и минимальные действия на каждом шаге. К сожалению эта модель имеет ограничения — не всегда возможно построить ДКА, для имеющегося Недетерминированного конечного автомата (регулярного выражения, грамматики). Или даже если возможно построить, автомат может иметь слишком большое число состояний.

Тем не менее я решил попробовать создать парсер для HTTP запроса на основе ДКА. Основная задача не просто проверить корректность HTTP запроса, а именно выделить во входной строке элементы соответствующие определенным значениям полей HTTP запроса. Автомат должен генерироваться из BNF правил (разбросанных по) RFC2616. Реализовано все на C#, автомат на выходе тоже на C#. Хотя понятно что когда автомат готов, сгенерировать его на любом языке, в любом виде не проблема.
Читать полностью »

Описание

Недавно решил попробовать новую версии платформы ASP.NET MVC 4, и перевел проект с MVC 3 на MVC 4.
И тут возникли нежданно, негаданно проблемы (хотя кого я обманываю, переход на бета версию всегда означает некий риск) с валидацией на клиентской стороне полей типа Datetime. Внезапно представление отказывалось валидировать такие поля, хотя раньше они проходили ее, учитывая тот факт что настройки для культур сервера и представления остались те же.
Читать полностью »

ПервопроходецВ настоящее время, стать первопроходцем в географии достаточно сложно. Есть физика, химия, биология… Но там слово первопроходец несет немного другой смысл. Да, они тоже идут в неизведанные области, но все равно это как то не так. Нас, программистов, так же как биологов и etc, относить к первопроходцам тяжело. Но есть люди, с которыми мы часто спорим, но именно они истинные первопроходцы современности. Именно им, приходиться лезть в дебри наших интерфейсов, разбираться в сложных взаимосвязях наших ошибок, да и, что уж греха таить, ворчать на нас, за отсутствие торных путей.
Ладно, с лирикой завязываю, начинаю по теме. Те кто был на QADay и слушал Чарлза Стерлина, в принципе дальше может не читать, кстати, все кто уже пробовал Exploratory Testing, в принципе тоже. Для остальных, позвольте коротенько рассказать о исследовательском тестировании при помощи Visual Studio 11 и, соответственно, TFS 11.
Вперед, в пампасы?
Читать полностью »

image
Наконец-то вместо уговоров подождать еще немного, на вопрос “Есть ли InterSystems GlobalsDB/Caché Extreme под Microsoft .Net?” можно ответить утвердительно. В новой версии Caché 2012.2 (Field Test) и GlobalsDB v2012.296 появилась поддержка этой платформы.
Попытаюсь в любимом для многих разработчиков на одной шестой суши стиле, то есть без чтения install notes и прочего, исследовать, что, собственно говоря, представляет дистрибутив GlobalsDB под Windows.
Читать полностью »

image
Вчера пакетный менеджер NuGet для платформы .NET получил очередное обновление до версии 1.7. Ниже перечислены нововведения в новой версии.

Поддержка конфигурации пакетов на уровне решения

С выпуском NuGet 1.7 пакетный менеджер поддерживает конфигурацию пакетов не только для каждого проекта, но и для решения в целом. Файл конфигурации пакетов packages.config теперь может быть размещен на уровне решения в специальной папке .nuget. Этот новый функционал позволить использовать функцию Package Restore на уровне решения.
Читать полностью »

Довольно часто так бывает что кто-то когда-то сделал прекрасную вещь, а она либо никем так и не была найдена, либо быстро забыта. Потихоньку я буду стараться предоставлять в серии топиков информацию по различным проектам, на которые стоит обратить внимание. Многие из них специфичны. И тем еще более интересны.

IL Stub Diagnostic Tool

Набор полезных утилит и библиотек мира .NET
IL заглушки (stubs) динамически генерируются во время работы приложения на лету и управляют маршаллингом и вызовом целевого метода. IL Stub Diagnostic tool была создана чтобы улучшить качество отладки приложений. Это real-time монитор, который показывает детали каждой IL заглушки, создаваемой в исследуемом процессе. Для каждой заглушки утилита показывает ее IL код и сигнатуры Managed/Unmanaged методов
Читать полностью »

Очень часто в различных веб-приложениях мы работаем с данными, выбранными из таблиц БД. И нередко необходимо предоставлять пользователю возможность фильтровать эти данные. Можно, конечно, для каждого случая собирать данные с формы в ручную и в ручную создавать соответствующий запрос под них. Но что если у нас 20 разных страниц, представляющих те, или иные данные? Обрабатывать в ручную все долго и не удобно, а поддерживать еще хуже. Моя версия решения данной проблемы на ASP.NET MVC + Entity Framework под катом.
Читать полностью »

Очень часто в различных веб-приложениях мы работаем с данными, выбранными из таблиц БД. И нередко необходимо предоставлять пользователю возможность фильтровать эти данные. Можно, конечно, для каждого случая собирать данные с формы в ручную и в ручную создавать соответствующий запрос под них. Но что если у нас 20 разных страниц, представляющих те, или иные данные? Обрабатывать в ручную все долго и не удобно, а поддерживать еще хуже. Моя версия решения данной проблемы на ASP.NET MVC + Entity Framework под катом.
Читать полностью »


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