Как стать автором
Обновить
16
0
Nikolay Turnaviotov @foxmuldercp

Administrator, DevOps, RoR/ReactJS programmer

Отправить сообщение

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

Время на прочтение10 мин
Количество просмотров187K
Доброго дня почтенной публике.

Немалая часть моей работы — инвентарный учет оборудования. Я занимаюсь этим уже много лет и во многих компаниях, занимаюсь достаточно успешно, поэтому могу поделиться тем, как нужно делать первые шаги к тому, чтобы этот мутный процесс не превращался в головную боль для человека, которому его поручили.
Читать дальше →
Всего голосов 35: ↑33 и ↓2+31
Комментарии94

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

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

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

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

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

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

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

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

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

Время на прочтение9 мин
Количество просмотров23K
image

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


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

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

Время на прочтение14 мин
Количество просмотров6.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-запросы или отправка сообщений в очередь хранилища, по расписанию. С помощью планировщика вы можете создавать задачи в облаке, которые гарантированно вызовут сервисы как внутри облачной инфраструктуры, так и снаружи нее. Вы можете выполнять эти задачи по требованию или на регулярной основе по расписанию, а так же назначить исполнение на какую-то дату в будущем.

Давайте познакомимся с новым сервисом поближе.
Читать дальше →
Всего голосов 22: ↑15 и ↓7+8
Комментарии2

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

Время на прочтение10 мин
Количество просмотров26K


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

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

Читать дальше →
Всего голосов 46: ↑35 и ↓11+24
Комментарии17

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

Время на прочтение7 мин
Количество просмотров3.7K
Проблема кэширования встает перед любым высоконагруженным приложением. В Windows Azure, где основным алгоритмом увеличения производительности является добавление экземпляров приложения, роль кэша становится еще более важной, т.к. с его помощью можно обеспечить «общую память» для всех экземпляров.
что же делать
Всего голосов 19: ↑15 и ↓4+11
Комментарии1

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

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

Самое простое средство предлагаемое Microsoft для решения описанной задачи — это класс CSharpCodeProvider, который входит в стандартную библиотеку .Net. Использование этого класса — не очень сложная задача, но тем не менее было бы полезно иметь инструмент, превращающий использование сгенерированного на лету кода в задачу тривиальную.
Вот что получилось в результате
Всего голосов 58: ↑51 и ↓7+44
Комментарии29

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

Время на прочтение10 мин
Количество просмотров51K

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

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

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


Читать дальше →
Всего голосов 14: ↑12 и ↓2+10
Комментарии10

Shared VHDX в Windows Server 2012 R2

Время на прочтение4 мин
Количество просмотров23K
В предыдущем посте, посвященном обзору Windows Server 2012 R2, я упоминал новую возможность Hyper-V – использование общих VHDX-файлов (Shared VHDX) для создания гостевых кластеров. Сегодня я хотел бы подробнее остановиться на этой теме и обсудить особенности настройки и применения Shared VHDX.
Читать дальше →
Всего голосов 26: ↑18 и ↓8+10
Комментарии9

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

Время на прочтение24 мин
Количество просмотров22K


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

Предисловие


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

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

Время на прочтение3 мин
Количество просмотров19K
В процессе работы над одним из проектов передо мной встала задача создания сворачиваемого дерева папок на основе сведений о нем в базе данных. Для уточнения, это выглядит примерно так:

image

Собственно, задача стояла следующая: на сервере в таблице базы данных хранится структура дерева каталогов, которая после определенных преобразований должна отобразиться в вышеуказанном виде.
Читать дальше →
Всего голосов 22: ↑12 и ↓10+2
Комментарии23

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

Время на прочтение9 мин
Количество просмотров362K


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

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

Как данные защищаются? Как клиент и сервер могут установить безопасное соединение, если кто-то уже прослушивает их канал? Что такое сертификат безопасности и почему я должен кому-то платить, чтобы получить его?
Читать дальше →
Всего голосов 173: ↑163 и ↓10+153
Комментарии56

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

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

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

Время на прочтение7 мин
Количество просмотров17K
Практическое использование MvcSiteMapProvider в ASP.net MVC

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

Практику использвания MvcSiteMapProvider я буду показывать на учебном проекте MVC Music Store.
Читать дальше →
Всего голосов 11: ↑8 и ↓3+5
Комментарии1

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

Время на прочтение6 мин
Количество просмотров9.9K
В данном посте будет рассмотрен процесс создания меню навигации и хлебных крошек в проекте asp.net MVC3. Сначала мы создадим пустой проект, потом добавим sitemap провайдер, несколько контроллеров и представлений и в итоге заставим провайдер вывести хлебные крошки.
Продолжение
Всего голосов 10: ↑9 и ↓1+8
Комментарии2

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

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

Статья прежде всего рассчитана на новичков, но есть желание услышать профессиональное мнение людей, знакомых с данным вопросом, имеющих более глубокое понимание вещей, описанных в статье.
Читать дальше →
Всего голосов 27: ↑23 и ↓4+19
Комментарии14

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

Время на прочтение3 мин
Количество просмотров25K
Статей по пониманию IPv6 написано предостаточно для всех категорий: от пользователей до провайдеров и если пользователю с «правильным» dual-stack провайдером нужно просто включить устройство, поддерживающее IPv6, то что делать провайдеру с его IPv6-блоком не ясно. Попробуем в этом разобраться. Статья подразумевает что читатель умеет считать маски IPv6, большего не требуется.
Читать дальше →
Всего голосов 36: ↑29 и ↓7+22
Комментарии51

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

Время на прочтение6 мин
Количество просмотров48K
В прошлом посте я рассказывал о различных стратегиях кеширования. Там была голая теория, которая и так всем известна, а кому неизвестна, тому без примеров ничего не понятно.

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

Читать дальше →
Всего голосов 29: ↑21 и ↓8+13
Комментарии26

Информация

В рейтинге
Не участвует
Откуда
Киев, Киевская обл., Украина
Дата рождения
Зарегистрирован
Активность