Search
Write a publication
Pull to refresh
51
0
Андрей Губский @Ernado

Software Architect, Microsoft MVP

Send message

Настройка TeamCity для новичков

Reading time9 min
Views162K
Эта статья в первую очередь пригодится тем, кто использует тот же стек технологий, что и наша команда, а именно: ASP.NET, C#, NUnit, Selenium 2, git, MSBuild. Будут рассмотрены такие задачи, как интеграция с git, сборка C#-проектов, NUnit-тесты (как модульные, так и тесты UI), а также деплой на сервер. Впрочем, наверняка найдётся интересное и для других пользователей, кроме разве что съевших на этом вопросе собаку. Но они опять же смогут обратить внимание на ошибки в статье или что-то посоветовать: например, как оптимизировать фазу деплоя.
Читать дальше →

Data Mining. Оптимизация заказов товаров в аптеке (аптечном пункте)

Reading time6 min
Views18K
В небольшом аптечном пункте существует потребность гибкой системы заказов лекарственных средств и пара-фармацевтических товаров чувствительной к постоянным колебаниям рынка. В рамках современной действительности одиночные аптечные пункты не обладают достаточными складскими помещениями (материальными комнатами), что накладывает свой отпечаток и заставляет человека, ответственного за заказы, делать их ежедневно из сводного прайс-листа по нескольким поставщикам, не допуская дублирования, по минимальным ценам, исключая товары с неподходящими сроками годности. При этом общая номенклатура составляет несколько десятков тысяч единиц.

Мы живем в современном мире, где рутинные операции за нас выполняет компьютер. Поэтому Вы можете сказать: «Давайте используем компьютер, и он сделает всю черную работу за нас!». «У вас же есть база данных, содержащая статистику продаж различных лекарств?» – продолжите Вы – «Так почему же не использовать эту статистику для прогноза продаж и создания автоматической заявки на требуемые препараты?»
Читать дальше →

Хроническая усталость, апатия, сезонная «депрессия» и многое другое: тривиальная причина

Reading time8 min
Views687K
На хабре часто публикуют статьи о самоорганизации — нам всем хочется меньше прокрастинировать, и делать больше полезного. Но что если делать полезное мешает дичайшая усталость? Никакая организация задач усталость не уберет.

Казалось бы, работа у IT-шников несложная — вагоны не разгружаем, землю не роем и уставать физически не должны. Однако о дичайшей усталости людей занятых интеллектуальным трудом приходится слышать чаще, чем хотелось бы. После того как я приехал в Москву 3 года назад — я почему-то начал дичайше уставать на совершенно ровном месте, и ни я, ни врачи не могли найти причину. После 2-х лет поисков тривиальная и легко исправимая причина нашлась, и на мой взгляд — в группе риска находятся практически все люди, занимающиеся интеллектуальным трудом. Ситуация усугубляется двумя народными обычаями.

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

1) Летом все ок, а зимой — апатия, ничего не хочется делать. Это любят называть сезонной «депрессией».
2) Утром все ок, а к вечеру на работе — мозги «не варят», ничего не хочется делать — только хабр и reddit листать. Приходите домой — и с дичайшей усталостью падаете в кресло. Сил хватает только лазить в интернете до ночи. Этот пункт — касается и работодателей, есть шанс, что люди вечером перестают работать не из-за своей лени.
3) Даже если вы просыпаетесь без будильника — вы не высыпаетесь.
4) Кофе и прочие стимуляторы — не дают бодрости, лишь делают вас злее.
5) Даже если вы спите «сколько влезет» — сны короткие и не запоминающиеся, или их нет вообще.
6) Вы замечаете, что даже 1 вещь вам иногда трудно удержать в голове. Мы можете забыть что вы сейчас хотели сделать.
7) Вы просыпаетесь уже с дичайшей усталостью
8) Вам кажется, что в комнате темно и все несколько не резкое.
Читать дальше →

DocumentDB: база данных NoSQL от Microsoft

Reading time2 min
Views21K
Пусть и с некоторым опозданием по сравнению с остальными компаниями, но Microsoft сделала необходимое и выпустила собственную нереляционную базу данных: она называется DocumentDB. И пусть это проприетарная система, которая привязана к сервису Azure, это не делает новость менее значимой.

DocumentDB автоматически индексирует содержимое всех документов, допускает обработку запросов в реальном времени, полностью поддерживает требования ACID к транзакциям (атомарность, согласованность, изолированность, надёжность). Система очень похожа на MongoDB как эффективное хранилище JSON-документов с богатыми API для запросов, в то же время выгодно отличается от MongoDB по масштабируемости и надёжности работы, глубокой интеграции JavaScript, поддержке RESTful API, асинхронных запросов и др.



Как и MongoDB, DocumentDB представляет собой иерархию баз данных, коллекций и документов.
Читать дальше →

Java и облако Microsoft — краткие очерки

Reading time6 min
Views8.3K
Привет,

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

Опубликованы записи докладов конференции DevCon 2014

Reading time7 min
Views7.6K
Уважаемые друзья! Мы рады вам сообщить о публикации записей докладов конференции Microsoft DevCon 2014. Для вашего удобства они размещены на трех ресурсах, и вы можете посмотреть интересующие вас доклады.
TechDays – http://www.techdays.ru/series/devcon_14
Channel9 – http://channel9.msdn.com/Events/DevCon/Russia-2014
Youtube – http://www.youtube.com/playlist?list=PLVDsxiCH_PqTpoEAwIRquA9W4ODnMfc2Z

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

Улучшаем производительность: полезные советы и приёмы в .NET

Reading time8 min
Views32K
Эта статья входит в серию статей по улучшению производительности в .NET. Первую статью можно найти здесь.

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

Открывая очередную статью о производительности, пожалуй каждый резонно ищет ответ на вопросы «а как это может помочь в моих проектах» и «бросать ли все и начинать ли срочно исправлять свой код как описано». Исправлю ошибку прошлой статьи, отвечу сразу и подробнее. На мой взгляд, есть смысл использовать наши хаки в следующих случаях:

  • Вы пишете новый код и решили делать это немного лучше и с экономией
  • Вы дошли до этапа, когда начались оптимизации и рефакторинг, поэтому просматриваете и меняете участки кода, которые выполняются очень часто
  • Вы пишете высокопроизводительную систему и экономите на спичках

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

Некоторые аспекты логирования ASP.NET-сайта

Reading time16 min
Views21K
Здравствуйте!

Сегодня я расскажу, как сделаны некоторые аспекты логирования в сайте, в разработке которого я принимаю участие.

Сайт написан на ASP.NET MVC 5 и Web API 4, для логирования используется библиотека NLog, сайт хостится в облаке Амазона. Записи лога пишутся в три места (target по терминологии NLog): в файловую систему (подпапку Logs папки App_Data, в которую разрешается доступ на запись при стандартных настройках деплоя Amazon Elastic Beanstalk), на сервис logentries и в БД. Записи лога за день ведутся в отдельный файл, в названии которого указывается текущая дата.
Читать дальше →

Аутентификация и авторизация в ASP.NET Web API

Reading time5 min
Views79K
Вы создали WebAPI и теперь хотите контролировать доступ к нему? В этой серии статей мы рассмотрим несколько вариантов защиты WebAPI от неавторизрованых пользователей. Серия будет охватывать обе стороны, и аутентификацию и авторизацию пользователей.

  • Аутентификация — позволяет однозначно идентифицировать пользователя. Например, Алиса входит в систему со своим логином и паролем, и сервер использует эти данные для аутентификации Алисы.
  • Авторизация решает может ли пользователь выполнить те или иные действия. Например, Алиса может иметь право на чтение ресурса, но не может создать новый ресурс.


Первая серия статей дает общий обзор аутентификации и авторизации в ASP.NET Web API. Другие статьи описывают общие сценарии аутентификации для WebAPI.
Раскрыть тему

TJ Holowaychuk: Прощай Node.js

Reading time5 min
Views54K
Примечание от переводчика:

Я решил перевести эту статью в основном из-за личности автора. TJ вложил очень много усилий в развитие Node.js и его инфраструктуры, он автор таких проектов как express, jade, mocha, stylus, автор 550 репозиториев на npm. Существуют также теория, что под этим именем скрывается группа людей.

Как бы то ни было, JavaScript и Go сообщества в ближайшие время ожидают изменения.

Покидая страну Node.js


Я сражался с Node.js достаточно долго, что бы перестать получать от этого удовольствие, это мое официальное прощание! И, что еще важнее, я ищу людей, которые смогут поддерживать мои проекты!

Node отлично справляется с некоторыми вещами, но, к сожалению, это не самый подходящий инструмент для того, что мне сейчас интересно. Я все еще планирую использовать его для сайтов, но если вы хотели бы заняться поддержкой одного из моих проектов, дайте мне знать. Просто оставьте комментарий с вашим именем на Github, ссылкой на npm и названием проекта. Как обычно я прошу не делать больших изменений в существующих API: создать новый проект будет проще.

Я также продолжу поддерживать Koa.

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

Новые бесплатные курсы виртуальной академии Microsoft Virtual Academy, июль 2014

Reading time5 min
Views12K
image

В этом обзоре мы поговорим про бесплатные курсы виртуальной академии Microsoft MVA, которые будут полезны как профессиональным разработчикам программного обеспечения, так и новичкам. Обратите внимание, что видео-плеер на сайте для ряда курсов, которые созданы на английском языке, содержит возможность включить русские субтитры.

Хит! Новичкам! Знакомство с игровыми подсистемами для Windows 8

Данный курс посвящен всем аспектам разработки игр для Windows 8, от определения целевой аудитории до получения прибыли от продукта. Вы узнаете об игровых подсистемах, упрощающих разработку, таких как Construct 2 от Scirra, GameMaker от YoYo Games и Unity. Данный курс предназначен для начинающих разработчиков игр и содержит демонстрации и многочисленные рекомендации, помогающие добиться успеха.

Сертификация! Приступаем к созданию веб-приложений ASP.NET MVC 4

Разработчикам для платформы Microsoft: прослушайте этот курс, если вы хотите начать создавать корпоративные веб-приложения или же просто требуется применить новые функции MVC либо обновить свою сертификацию Майкрософт. В рамках этого насыщенного курса вы узнаете все необходимые сведения. Он является продолжением курса Начинаем разработку на языке HTML5 с использованием JavaScript и CSS3. С его помощью также можно подготовиться к экзамену 70-486.

Хит! Новичкам! Английский. Windows Phone 8.1 Development for Absolute Beginners

Отличный и глубокий курс из 30 модулей посвященый всем аспектам разработки под мобильную платформу Windows Phone с учетом новинок самой свежей версии WP8.1. Курс на английском языке, но нагляден и вполне понятен и доступен.
Читать дальше →

Xamarin. За и против

Reading time4 min
Views61K
image

Наверное, каждый .NET разработчик, знакомясь с monodroid и monotouch, хочет узнать, что его ждет. Стоит ли тратить свои силы и время на изучение, какой потенциал платформы, не превратится ли разработка в тестирование фреймворка?

Уже больше года моей основной задачей является разработка на C# под Android и IOS, и я постараюсь ответить на основные вопросы, возникающие при выборе monotouch и monodroid. В статье будет много личного мнения и описания костылей, так как ответы по техническим вопросам можно легко найти на официальном сайте Xamarin: docs.xamarin.com

Поскольку Xamarin 3 вышел только недавно, мне не удалось полностью прощупать новые возможности и изменения в платформе. Тем не менее, почти все «особенности» разработки в monotouch и monodroid по-прежнему актуальны.
Читать дальше →

Выделенный сервер в Европе по цене обеда в кафе!

Reading time2 min
Views35K
Всем привет!

На хабре уже было несколько статей про французского хостинг-провайдера OVH, поэтому не буду рассказывать в подробностях о компании и ее услугах, а лишь обращу ваше внимание на одно крайне привлекательное, на мой взгляд, предложение…

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

Как сделать онлайн просмотр документов

Reading time6 min
Views59K
Первый рабочий день. Первая задача в Redmine. Первая спецификация в формате doc. На новой рабочей машине. К чтению спецификации удалось приступить часа через 3. Пока скачался и установился MS Office. Вспоминая этот случай, я был уверен, что в нашей системе управления задачами надо сделать онлайн просмотр документов. Вот только идей по реализации за разумное время и трудозатраты не было. Недавно мы нашли способ – Microsoft Office Web Apps.

В этой статье пойдет речь о том, как добавить онлайн просмотр документов в любой продукт.
Читать дальше →

Обновленный облачный сервис Azure Web Sites для размещения сайтов PHP, Java, .NET, Node.js и Python

Reading time10 min
Views17K
Это статья является дополнением и продолжением статьи Единая облачная PaaS-платформа для ASP.NET, PHP, Node.js и Python. С момента написания предыдущего материала сервис Azure Web Sites значительно обновился и его возможности расширились сразу во многих направлениях. Об этих изменениях и пойдет речь в данной статье.



Далее рассматриваются следующие функциональные возможности:

  • поддержка проектов на Java;
  • интеграция с онлайн-редактором Visual Studio Online “Monaco”;
  • функция создания резервных копий сайта;
  • дополнительные развертывания сайтов, стейджинг и другие окружения;   
  • выполнение фоновых задач на базе скриптов, кода python, .net, php или node.js;
  • удаленная отладка размещенных сайтов;
  • поддержка wildcard доменов и бесплатные SSL;
  • функция AlwaysOn и поддержка web-сокетов;
  • администрирование, Kudu, доступ по IP, управление с помощью Azure Management Libraries;   
  • новое ценообразование Azure Web Sites.

Рассмотрим каждую из новых функций более подробно.
Читать дальше →

Доступен новый JIT: теперь с поддержкой SIMD

Reading time10 min
Views15K

От переводчика


Лично я просто невероятно обрадовался новой возможности. Как раз не так давно одолел Pro .Net Perfomance, в которой одна из глав была посвящена параллельности, и векторизации в частности. Вывод, сделанный авторами: «К сожалению, использование векторизации возможно исключительно на С++, выполнение кода на видеокарте — возможно и средствами .Net, однако C++ AMP оставляет любые управляемые библиотеки GPGPU далеко позади, поэтому, к сожалению, в данных задачах рекомендуем использовать подключаемые C++ сборки.» Поэтому рад сообщить, что по крайней мере одна проблема решена. Что ж, приступим!

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

Дайджест новостей Azure: все анонсы конференции Build 2014

Reading time10 min
Views4.5K
В рамках этого дайджеста новостей облачной платформы Microsoft Azure собраны основные анонсы для разработчиков, ИТ-профессионалов и для всех специалистов интересующихся облачными технологиями и платформой Azure.



На прошлой неделе состоялась крупнейшая конференция Microsoft Build 2014, в рамках которой было сделано множество анонсов, в том числе по технологиям платформы Microsoft Azure.

В этом дайджесте собраны все озвученные анонсы:

  • Итоги развития Microsoft Azure за год. 300 новых сервисов. Текущая нагрузка и пара заметных проектов;
  • Web Sites. Поддержка Java. Бесплатные SSL-сертификаты. Хостинг-планы и группы ресурсов. Обновление Kudu
  • Mobile Services. Языки .NET в качестве бэкенда. Удаленная отладка. Оффлайн-синхронизация данных. Поддержка Kindle.
  • SQL Database. Новые лимиты и SLA. Автоматические бэкапы (Self-Service Restore). Active Geo-Replication.
  • Портал Azure. Новый портал управления с интеграцией Application Insights, биллингом и другими новинками.
  • Virual Machines & Networks. VM Capturing. Интеграция платформы с Puppet и Chef. Новый сервис Azure Automation. Auto-scale GA. Новинки виртуальных сетей.
  • Azure CDN. Обновление и GA. Интеграция в портал. 
  • Azure Active Directory. Active Directory Premium GA. Функции Active Directory RMS в портале. iOS & Android SDK.
  • Инструменты разработки. Azure SDK for .NET 2.3, интеграция с Visual Studio
  • Новые цены. Снижение цен на вычислительные мощности (до 35%) и облачное хранилище (до 65%). Уровень VM Basic. Снижение цен на Azure Backup.
Читать дальше →

Запуск Windows Server 2012R2 из VHDX файла с USB диска через UEFI

Reading time5 min
Views23K
Я решил сделать дисковый массив на платформе Intel Atom D410PT. Это материнская плата с пассивным охлаждением процессора, два слота памяти (максимум 4Gb), один слот PCI (который я использовал для контроллера SATA SiliconImage 3512 — 2x1.5Gb/s), 2 SATA (3.0Gb/s) разъема, LAN 100mb/s, и многочисленными USB 2.0 портами (в том числе и на самой материнской плате).
Сама плата поместилась легко в корпус NaviPower PIX-1001 230W. Полное описание моих действий с железом я разместил на своем сайте.

Соответственно, т.к. было решено использовать 4 диска для создания RAID5 массива, то логично вырисовалось решение вынести операционную систему на внешний USB носитель (в моем случае USB HDD Seagate Freeagent GoFlex). Так как установка и настройка системы «с нуля» является зачастую долгим и кропотливым занятием, то я решил что система будет лежать на внешнем диске в контейнере VHDX, а так как материнка поддерживает UEFI, то соответственно и загрузка должна идти используя UEFI. Основная проблема была в том, что в интернете нет понятной инструкции, как это сделать. Вся информация очень разрознена, и описываются только части решения этой задачи.

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

Облегчаем себе жизнь 2 (Postgresql + asp.net)

Reading time4 min
Views28K
Чуть более года назад, стояла задача написания web приложения работающая с БД Postgresql. К моему сожалению, стандартного адаптера для работы с БД PostgreSQL не было, а с тем, что был найден на просторах интернета ( бесплатный ) работать было не возможно.
В итоге было решено обойтись библиотекой Npgsql.
Как работать с этой библиотекой, есть документация и множество примеров в интернете. Сразу же после начала работы с ней, мне не понравилось, что нужно много писать однотипного кода. Для облегчения работы была создана дополнительная прослойка в виде отдельного класса, для работы с БД через данную библиотеку.

Особенности:
1. данные для подключения берутся с файла web.config
2. есть возможность для работы с несколькими подключениями. ( например если у проекта модульная система, и каждый модуль работает только со своей схемой )
Читать дальше →

Как ServiceStack помогает поставить разработку веб-сервисов на поток

Reading time9 min
Views22K
На хабре незаслужено обойден вниманием замечетальный .Net-фреймворк ServiceStack. Упомянут он очень кратко, в одной лишь статье, и то косвенно, мельком, и в самом конце, и упомянута там лишь мизерная его часть. Очевидно, это связано с тем, что основная масса .Net-разработчиков использует стандартные решения от Microsoft для решения задач по разработке веб-сервисов и веб-приложений, а именно ASP.Net MVC/WebAPI или WCF и не заморачивается. Как мы попытаемся показать в этой статье, современный .Net хорош далеко не только своими стандартными технологиями.



Если интересно, прошу под кат.
Читать дальше →

Information

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

Specialization

Backend Developer, Software Architect
Lead
From 10,000 $
C#
ASP.Net
.NET
OOP
High-loaded systems
Designing application architecture
Creating project architecture
Software development