Pull to refresh
16
0
Nikolay Turnaviotov @foxmuldercp

Administrator, DevOps, RoR/ReactJS programmer

Send message

Идентификаторы для инвентаризации ИТ оборудования это легко и просто

Reading time10 min
Views192K
Доброго дня почтенной публике.

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

Использование Backload для загружаемых файлов в ASP.NET MVC

Reading time4 min
Views8.4K
Когда передо мной встала задачка организовать красивый и удобный механизм загрузки файлов на сервер с поддержкой загрузки больших файлов, отображения прогресса загрузки и прочих радостей современного веба, я стал искать, что же есть в наличии такого, чтобы не ваять очередной велосипед.

С Javascript’овыми аплоадерами все оказалось очень неплохо – вариантов весьма приличное количество, на все требования и вкусы. А вот с серверными компонентами для реализации бекенда ситуация оказалась несколько хуже. Большая часть решений, которые я нашел, представляла собой небольшие примеры хэндлеров, об которые для реального использования пришлось бы сточить не один напильник.

В итоге, для работы на клиенте был выбран неоднократно обсуждавшийся на хабре jQuery-File-Upload, благо для него есть и angularjs обертка (что было актуально), и, в его документации была обнаружена ссылка на ту реализацию бекенда, о которой я и хотел бы рассказать – Backload.
Читать дальше →

Тестируем EntityFramework запросы с помощью SQL Server Compact Edition

Reading time3 min
Views4.1K
Как и все серьезные люди мы задумались о широком использвании unit тестов. В качестве платформы взяли MSpec из-за того, что некоторым членам комманды очень нравится то, что названия тестов выглядят так, словно читаешь текст, но при этом в отличии от огурца и ему подобных не приходится писать громоздкие парсеры.

Unit тестирование и моки — это безусловно хорошо и нужно, но иногда хочется и проверить, что кусок кода, работающий с базой отрабатывает корректно вцелом. Да и отчку останова в нужном месте хочется поставить и зайти туда не запуская все тяжелое приложение. В общем возникло желание тестировать базу.

Сначала решили попробовать SQLite. Маленький, теоритически много чего умеющий, в общем все с ним знакомы. Который и был запинан в качестве первого варианта, но после бодания с тем что запросы EntityFramework провайдером для SQLite строятся совсем не так как для SQL server — решено было искать ближе к корням — к Microsoft. Благо, как всегда в мире .NET, реализаций чего-либо на выбор не много, но они достаточо сурьезные. В общем решено было завести SQL Server CE.
Читать дальше →

Плагинная система на ASP.NET. Или сайт с плагинами, мадемуазелями и преферансом

Reading time9 min
Views23K
image

Вместо предисловия


Данный материал является исключительно результатом работы по сбору информации в сети и создания сайта, работающего на основе плагинов. Здесь я постараюсь описать идею работы такой системы и основные компоненты, необходимые для её работы.
Данная статья не претендует на оригинальность, а описанная система не является единственно правильной и красивой. Но если тебе, уважаемый $habrauser$, интересно, как создать такую систему, милости прошу под кат
Читать дальше →

CRON в облаке: полное руководство по новому сервису планировщика задач Windows Azure Scheduler

Reading time14 min
Views6.4K
image

Выполнение задач по расписанию в Windows Azure всегда было интересной темой с рядом готовых решений, которые помогали сделать работу правильно: планировщик мобильных сервисов, Quartz Scheduler, FluentScheduler, WebBackgrounder, ScheduledEnqueueTimeUtc и т.д. Хотя вы могли успешно использовать эти варианты, на самом деле они не были предназначены специально для ваших приложений Windows Azure, работающих на базе ролей облачных сервисов или веб-сайтов.

Именно по этой причине, почти год назад, компания Aditi анонсировала свой новый сервис – масштабируемый планировщик задач, который был построен специально для удовлетворения потребностей приложений запущенных в Windows Azure. Aditi Scheduler был создан Ryan Dunn – легендой из команды Windows Azure, несколько месяцев назад сервис отпраздновал выполнение 500000 задачи и добавил поддержку очередей хранилища Windows Azure Storage Queues.

Но недавно Microsoft анонсировала прекрасную альтернативу Aditi Scheduler – новый сервис Windows Azure Scheduler:

Windows Azure Scheduler позволит вам осуществлять различные действия, такие как HTTP/S-запросы или отправка сообщений в очередь хранилища, по расписанию. С помощью планировщика вы можете создавать задачи в облаке, которые гарантированно вызовут сервисы как внутри облачной инфраструктуры, так и снаружи нее. Вы можете выполнять эти задачи по требованию или на регулярной основе по расписанию, а так же назначить исполнение на какую-то дату в будущем.

Давайте познакомимся с новым сервисом поближе.
Читать дальше →

Разработка Windows 8.1 приложений на XAML/С#. Часть 1. Делаем основной экран приложения на основе Hub

Reading time10 min
Views26K


Этой статьей мы открываем серию материалов, посвященных новым возможностям разработки приложений для Windows 8.1 на XAML/C#. Мы планируем последовательно пройти путь от пустого шаблона до работающего приложения «Каталог товаров».

Первая статья посвящена созданию простой версии приложения на базе стандартного шаблона проекта Hub App в Visual Studio 2013. В ней мы научимся реализовывать удобные и разнообразные стартовые экраны для ваших приложений.

Читать дальше →

Кэширование в Windows Azure

Reading time7 min
Views3.7K
Проблема кэширования встает перед любым высоконагруженным приложением. В Windows Azure, где основным алгоритмом увеличения производительности является добавление экземпляров приложения, роль кэша становится еще более важной, т.к. с его помощью можно обеспечить «общую память» для всех экземпляров.
что же делать

Runtime-генерирование .Net-кода для тех, кому некогда

Reading time8 min
Views35K
Инфраструктура .Net содержит встроенные средства генерирования кода (On-the-Fly Code Generation). Это позволяет .Net-программе в момент своего исполнения самостоятельно (без участия программиста) скомпилировать текст, написанный на каком-либо языке программирования и исполнить получившийся код. Логично было бы ожидать, что для осуществления этих действий в стандартной .Net-библиотеке предусмотрен простейший метод соответствующего класса. Но к сожалению это не так. Microsoft, проделав огромный путь по встраиванию в среду .Net средств генерирования кода, не сделала самый последний шаг навстречу простейшим потребностям программистов. Значит, придётся сделать этот шаг самостоятельно.

Самое простое средство предлагаемое Microsoft для решения описанной задачи — это класс CSharpCodeProvider, который входит в стандартную библиотеку .Net. Использование этого класса — не очень сложная задача, но тем не менее было бы полезно иметь инструмент, превращающий использование сгенерированного на лету кода в задачу тривиальную.
Вот что получилось в результате

Tips & tricks for MySQL Developers. Работа с SQL

Reading time10 min
Views51K

Эта статья задумана мной как сборник некоторых интересных моментов по использованию и оптимизации SQL запросов в БД MySQL, на мой взгляд, плохо освещенных в интернете. Так, из статьи вы узнаете о конструкции with rollup, и о том, как переписать подзапросы in и not in на join'ы, а так же обновление и удаление данных в нескольких таблицах — одним запросом, и многое другое. Начнем по порядку.
Читать дальше →

Инсталлятор Miranda для корпоративного Jabber'a на NSIS

Reading time3 min
Views10K
Доброго времени суток! Наверное многим приходилось собирать небольшие устанощики разнообразного ПО для своих нужд или нужд компании работодателя. В моей работе приходится сталкиваться с самыми разнообразными задачами по написанию всякого мелкого админского ПО. Начиная от скриптов настройки файрволов и установшика службы VNC до инсталлятора корпоративного мессенджера на основе Miranda. На последнем мы сегодня и остановимся. Реализовав ввод логина и пароля прямиком в установщике, посредством вызова «Page custom» и работы с функционалом NSD


Читать дальше →

Shared VHDX в Windows Server 2012 R2

Reading time4 min
Views24K
В предыдущем посте, посвященном обзору Windows Server 2012 R2, я упоминал новую возможность Hyper-V – использование общих VHDX-файлов (Shared VHDX) для создания гостевых кластеров. Сегодня я хотел бы подробнее остановиться на этой теме и обсудить особенности настройки и применения Shared VHDX.
Читать дальше →

Пишем свой отладчик под Windows [часть 2]

Reading time24 min
Views22K


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

Предисловие


Эта статья является продолжением предыдущей части «Пишем свой отладчик под Windows». Очень важно, чтобы Вы её прочитали и поняли. Без полного понимания того, что написано в первой части, Вы не сможете понять эту статью и оценить весь материал целиком.
Единственный момент, оставшийся неупомянутым в предыдущей статье, это то, что наш отладчик может отлаживать только машинный код. У Вас не получиться начать отладку управляемого (managed) кода. Может быть, если будет четвёртая часть статьи, я в ней также рассмотрю отладку и управляемого кода.
Я бы хотел показать Вам несколько важных аспектов отладки. Они будут включать в себя показ исходного кода и стека вызовов (callstack), установки точек останова (breakpoints), входа внутрь исполняемой функции (step into), присоединение отладчика к процессу, установка системного отладчика по умолчанию и некоторые другие.
Читать дальше →

Генерация древовидного меню модели представления Nested Sets

Reading time3 min
Views19K
В процессе работы над одним из проектов передо мной встала задача создания сворачиваемого дерева папок на основе сведений о нем в базе данных. Для уточнения, это выглядит примерно так:

image

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

Как HTTPS обеспечивает безопасность соединения: что должен знать каждый Web-разработчик

Reading time9 min
Views374K


Как же все-таки работает HTTPS? Это вопрос, над которым я бился несколько дней в своем рабочем проекте.

Будучи Web-разработчиком, я понимал, что использование HTTPS для защиты пользовательских данных – это очень и очень хорошая идея, но у меня никогда не было кристального понимания, как HTTPS на самом деле устроен.

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

Как я научил родителей качать турецкие сериалы одним щелчком

Reading time5 min
Views17K
Добрый день!
У многих из нас есть родители, которые не очень дружат с техникой, и дружить приходится за них. Моя семья в полном составе смотрит сериал "Великолепный век", серии которого выходят раз в неделю. Вроде не так часто, но субботу за субботой слышать «Иди проверь, нет ли серии», искать раздачу, запускать торрент и так далее стало утомительно, и я решил переложить это на цифровые плечи четвертого .NetFramework-а.
Что нам понадобится:
Visual Studio 2010 или выше
— Консольный торрент-клиент Aria2c.
Читать дальше →

Практическое использование MvcSiteMapProvider в ASP.net MVC

Reading time7 min
Views17K
Практическое использование MvcSiteMapProvider в ASP.net MVC

В данной статье показано использование MvcSiteMapProvider для построения динамического меню, как с его помощью сделать карту сайта и «breadcrumbs».

Практику использвания MvcSiteMapProvider я буду показывать на учебном проекте MVC Music Store.
Читать дальше →

Хлебные крошки (breadcrumbs) в asp.net MVC3

Reading time6 min
Views10K
В данном посте будет рассмотрен процесс создания меню навигации и хлебных крошек в проекте asp.net MVC3. Сначала мы создадим пустой проект, потом добавим sitemap провайдер, несколько контроллеров и представлений и в итоге заставим провайдер вывести хлебные крошки.
Продолжение

Использование событий в jQuery плагинах

Reading time5 min
Views8.5K
Основной целью данной статьи является: показать различия между традиционной реализацией jQuery плагина и реализацией с применением событий. В статье будет: о традиционной реализации jQuery плагина, о работе с событиями в jQuery, и попытка заменить методы или callback-функции плагина событиями.

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

Распределение адресного пространства IPv6 для ISP

Reading time3 min
Views25K
Статей по пониманию IPv6 написано предостаточно для всех категорий: от пользователей до провайдеров и если пользователю с «правильным» dual-stack провайдером нужно просто включить устройство, поддерживающее IPv6, то что делать провайдеру с его IPv6-блоком не ясно. Попробуем в этом разобраться. Статья подразумевает что читатель умеет считать маски IPv6, большего не требуется.
Читать дальше →

Кеширование в ASP.NET MVC

Reading time6 min
Views48K
В прошлом посте я рассказывал о различных стратегиях кеширования. Там была голая теория, которая и так всем известна, а кому неизвестна, тому без примеров ничего не понятно.

В этом посте я хочу показать пример кеширования в приложении ASP.NET MVC и какие архитектурные изменения придется внести, чтобы поддерживать кеширование.

Читать дальше →

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Date of birth
Registered
Activity