22 янв. 2021 г.

Аппаратные интриги в жизни ИТ-специалиста

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


В первом случае я проводил обследование бизнес-процессов предприятия с целью автоматизации. В первый же день обошел 6 человек, со всеми обстоятельно побеседовал, записал все в блокнот. На следующий день с утра мне звонит возмущенный представитель руководства и спрашивает, что я натворил, с кем поругался?

5 июл. 2015 г.

Использование Bower и Gulp в ASP.NET MVC 6 и ASP.NET 5

Все матерые веб-разработчики пишущие на JavaScript уже перешли на использование пакетных менеджеров, свойственных для инфраструктуры JavaScript. Платформа .NET заимела сначала свой менеджер пакетов NuGet. Теперь же в Microsoft решили присоединиться к мировому мейнстриму.

Когда обычный дотнетчик начнет изучать ASP.NET MVC 6, одним из его вопросов будет: "что такое Bower и как с ним работать?" Эта статья покажет основы использования этого нового инструмента, покажет, как работать с Bower и Gulp в среде Visual Studio.

Для примера будет использоваться пакет Font Awesome.

Что такое Bower?

Bower - это пакетный менеджер для клиентского JavaScript, он исполняется с помощью node.js. 

В текущей версии ASP.NET (>4.6) фирма Microsoft проводит дополнительную работу, чтобы создать Nuget-пакеты из последних версий Bower-пакетов. В дальнейшем же планируется оставить NuGet только для бэк-энда.

Больше информации о нем ищите по этой ссылке http://bower.io/.

Как добавить пакеты Bower в проект ASP.NET MVC 6?

Перед добавлением пакета нужно выяснить его правильный идентификатор, например Font Awesome в Bower называется 'components-font-awesome'. Найти пакеты можно используя поисковую страницу http://bower.io/search/.

После того, как у Вас есть имя, откройте в корне проекта bower.json и просто добавьте пакет к списку зависимостей. Если Вы работаете через Visual Studio, IntelliSense поможет выбрать пакет и нужную версию. 

Вот так выглядит дефолтный bower.json после добавления  Font Awesome:

Здесь мы видим подсказку, которая позволяет нам выбрать конкретную версию, либо последний мажорный релиз (может меняться API), либо последний минорный (предоставляет багфиксы). То есть, значение "4.3.0" навсегда таким и останется. При выборе варианта с крышечкой "^4.3.0" всегда будет закачиваться новейшая версия пакета. А при варианте с волнистой линией "~4.3.0", будут браться последние версии за исключением тех, что будут больше или равны версии "5.0.0".

После того, как Вы сохраните файл bower.json, Вы увидите в окне Output, что пакет автоматически добавлен в солюшен. Однако, нужно еще несколько шагов, чтобы использовать этот пакет.

Использование Gulp для добавления пакета в wwwroot

Новая папка wwwroot предназначена для статических ресурсов, таких как CSS, JS, шрифты и изображения. Эта папка копируется на веб-сервер "как есть", идея была помочь разделить фронт-энд от бэк-энда.

По умолчанию, Gulp используется для управления сборкой проекта. Он конфигурируется в файле gulpfile.js. В отличие от Bower, этот файл содержит полноценный JavaScript и предоставляет больше гибкости. Его страница на GitHub https://github.com/gulpjs/gulp/blob/master/docs/getting-started.md

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

Но и это еще не всё... Также, нужно установить настройки запуска Gulp.

Управлением запуском Gulp

По умолчанию, Gulp не выполняется автоматически, это значит, что Ваши пакеты Bower сами по себе не попадут автоматически в папку wwwroot. Нам нужно настроить запуск Gulp при каждой сборке проекта. Для этого служит интерфейс Task Runner Explorer, доступный при нажатии правой кнопки мыши на файл gulpfile.js.

Так как мы хотим управлять задачей 'copy', нужно нажать на нее правой кнопкой и установить привязку (Bindings) для пункта 'after build'. Теперь, скомпилировав, мы увидим в папке lib внутри wwwroot файлы пакета Font Awesome.

И вот теперь уже можно прописать на странице сайта нужные ссылки, например, на файл css:

    <link href="~/lib/components-font-awesome/css/font-awesome.css" rel="stylesheet" />

Итоги

Давайте быть честными, этот процесс был трудным. Это намного сложнее чем использовать NuGet-пакеты. Однако, мировая общественность веб-разработчиков использует такой путь и в долгосрочном плане лучше идти с ними в ногу. 

 И, кстати, теперь у Вас больше контроля над тем, где что и как развертывается.

Это адаптированный перевод статьи Using Bower and Gulp with ASP.net 5.0




27 июл. 2014 г.

Всего одна вакансия для программиста Xamarin в Москве

Понятно, что это утверждение актуально на дату написания поста, 28 июля 2014 года. Смотрел вакансии я на сайте hh. Для сравнения в Минске таких вакансий нашлось 6, а в Харькове 4.

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

Еще одна проблема в самом IDE - через полчаса начинаются проблемы с функциями копирования и вставки, работать практически невозможно, хоть руками перепечатывай примеры из браузера. Также приходится перезапускать среду после добавления новых картинок в проект.

Новая технология Xamarin.Forms у меня не заработала из-за какого-то глюка компилятора - он не смог найти класс, который я добавил в новом файле. В итоге, пришлось работать с более старым типом солюшена.

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


1 июл. 2014 г.

Предварительная версия Visual Studio 2014 и ASP.NET MVC 6

Скачиваю сейчас Visual Studio 2014 в версии CTP. CTP - это Community Technology Preview, то есть предварительная версия для демонстрации идеи, можно назвать его аналогом альфа-версии. Потом будет более стабильный Release Candidate (RC), и готовый продукт будет называться RTM.

Сам фреймворк ASP.NET MVC теперь отвязан от веб-сервера IIS, и теперь приложение на нем может хостить себя само, либо можно его хостить в консольном приложении. Это один из моментов впечатливших меня - скриншот на котором рядом открыты веб-приложение и консольное приложение из одного проекта и в консольное приложение выводится лог  действий веб-приложения. Хотя, это уже можно назвать одним приложением, с двумя интерфейсами.


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

В частности, сам проект решения на ASP.NET MVC в базовой версии стал намного проще - в нем теперь меньше служебных файлов, вместо XML из Web.Config теперь для настроек используется json.

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

Пока придется иметь дело с сырым продуктом, который не рекомендуется ставить на рабочий компьютер, поскольку он может вызвать неустранимый сбой операционной системы. Также эта версия не может работать вместе с другими версиями продукта Visual Studio. Поэтому рекомендуется ставить программу на виртуалку или на компьютер, где можно будет в случае чего переустановить операционную систему.

Веб-установщик можно скачать по этой ссылке:
http://go.microsoft.com/fwlink/?LinkId=399011
ISO-образ установщика здесь:
http://go.microsoft.com/fwlink/?LinkId=399010

Материалы для ознакомления расположены здесь:
http://www.asp.net/vnext - там есть два видео на английском, и как всегда, бессменный образец MVC Music Store