Как стать автором
Обновить
49
0
Андрей Губский @Ernado

Software Architect, Microsoft MVP

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

Создаем веб приложение используя VueJS и .NET

Время на прочтение10 мин
Количество просмотров41K
Данная стать является переводом вот этой статьи. В ней я расскажу вам как удобно использовать Vue.js фреймворк при разработке приложения на ASP.NET MVC
image
Читать дальше →
Всего голосов 19: ↑16 и ↓3+13
Комментарии26

Авторизация в ASP.NET Core MVC

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

Logo designed by Pablo Iglesias.


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


Содержание:



Читать дальше →
Всего голосов 28: ↑28 и ↓0+28
Комментарии5

Как рекламировали компьютеры в 1990-е

Время на прочтение3 мин
Количество просмотров25K
В наши дни никого не удивишь жёстким диском. Терабайтный HDD можно взять за 50 долларов. Но были времена, когда и реклама диска на 10 мегабайт казалась чем-то вроде отрывка из фантастического романа. Вот, скажем, весьма выгодное летнее предложение из 1980-го года. Нашли это чудо участники проекта vintagecomputing.


Если вы, с мыслью: «надо брать», спешите на объявление откликнуться, прочтите сначала то, что напечатано мелким шрифтом. $3495 – это за не совсем новый диск. 10-мегабайтник, которым ещё никто не пользовался, обойдётся немного дороже, в $4495. Но, честно говоря, оно того стоит.
Всего голосов 48: ↑42 и ↓6+36
Комментарии58

Поиграл == покодил

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

Мой рекорд скорости написания кода «на C» был в консоли Quake II. Причем абсолютно без ошибок. В темноте, не глядя, трясущимися руками надо было набрать примерно такое:

bind SHIFT "+snipe"
alias +snipe "sensitivity 2.5; fov 30"
alias -snipe "fov 90; sensitivity 4"

Боги умели прописывать RocketJump.

RocketJump
bind t "superrjr"

bind a "superrjn"

alias superrjr "echo SuperRocketJump enabled; bind a +srj; bind t superrjc"

alias superrjn "echo SuperRocketJump disabled"

alias superrjc "echo SuperRocketJump disabled; bind a superrjn; bind t superrjr"

alias +srj "lookdown1;hand 2;rjump"

alias -srj "lookdown2"

alias lookdown1 "cl_pitchspeed 999999;+lookdown"

alias lookdown2 "-lookdown;cl_pitchspeed 200;-attack;-moveup;wait;wait;wait;centerview;hand 2;cl_maxfps 80"

alias rjump "+moveup;+attack;wait;wait;wait;wait;cl_maxfps 0"

alias +QLD "+lookdown;cl_pitchspeed 999"

alias -QLD "-lookdown;cl_pitchspeed 200"

alias +RocketJump "hand 2;+QLD;wait;wait;+attack;+moveup"

alias -RocketJump "hand 2;-QLD;-attack;-moveup"

alias SuperRocketJump "hand 2;+QLD;wait;wait;wait;wait;+attack;+moveup;wait;cl_maxfps 0;LWX3;cl_maxfps 90;-QLD;-attack;-moveup;hand 2" 


Под катом — подборка дюжины проектов, которые заточены на то, чтобы играючи повысить кодерское мастерство.
Всего голосов 57: ↑51 и ↓6+45
Комментарии41

Консоль разработчика Google Chrome: десять неочевидных полезностей

Время на прочтение6 мин
Количество просмотров231K
Как с помощью консоли разработчика превратить Google Chrome в подобие текстового редактора? Какой смысл в ней приобретает знакомый многим по jQuery значок $? Как вывести в консоль набор значений, оформленный в виде вполне приличной таблицы? Если сходу ответы на эти вопросы в голову не приходят, значит вкладка Console из инструментов разработчика Chrome ещё не раскрылась перед вами во всей красе.

image

На первый взгляд, перед нами – вполне обычная JavaScript-консоль, которая годится только на то, чтобы выводить в неё логи ответов серверов или значения переменных. Я, кстати, так ей и пользовался, когда только начал программировать. Однако, со временем набрался опыта, подучился, и неожиданно для себя обнаружил, что консоль Chrome умеет много такого, о чём я и не догадывался. Хочу об этом сегодня рассказать. Да, если вы читаете сейчас не на мобильнике, можете тут же всё это и попробовать.
Читать дальше →
Всего голосов 88: ↑83 и ↓5+78
Комментарии62

Видеозаписи лучших докладов .NET-конференции DotNext 2016 Piter

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


Пока подготовка к московскому DotNext идёт полным ходом, мы открыли доступ к видеозаписям докладов с прошедшей летом конференции. По ссылке — полный плейлист, а под катом — топ-5 докладов по отзывам участников. Говоря «топ», мы не имеем в виду наши любимые доклады или выбор каких-то «экспертов» — лучшие отобраны на основе взвешенной оценки от 80% участников конференции. Как думаете, чьё выступление зрители оценили выше — перфоманс-эксперта Саши Гольдштейна или харизматичного Дино Эспозито?
Читать дальше →
Всего голосов 34: ↑34 и ↓0+34
Комментарии10

ASP.NET Core на Nano Server

Время на прочтение8 мин
Количество просмотров20K
Представляем первую из пяти статей, посвященных работе с ASP.NET Core: руководство по развертыванию приложения ASP.NET Core на Nano Server со службами IIS.


Читать дальше →
Всего голосов 34: ↑32 и ↓2+30
Комментарии26

Node.js и JavaScript вместо ветхого веба

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

Вступление


Эта статья про экспериментальный технологический стек общего назначения. Она не просто дублирует мой доклад на конференции ОдессаJS 2016, но содержит все то, что в доклад не поместилось из-за недостатка времени и исключительного масштаба темы. Я даже перезаписал доклад голосом по тексту статьи и это можно послушать, а не читать. С этой темой я уже выступил в Уханьском Университете (Китай), а в Киевском Политехническом Институте провел целую серию семинаров в 2015-2016 годах. Основная идея состоит в том, что проблемы фрагментации технологий могут быть решены, если спроектировать весь технологический стек, сконцентрировавшись на структурах данных, синтаксисе и протоколе взаимодействия компонентов. Большинство вопросов несовместимости, отпадет само собой. Пусть даже этот подход будет альтернативным и экспериментальным, но его задача будет выполнена, если он наметит путь и продемонстрирует принципиальную возможность создания простого и элегантного решения общего назначения. Эта идея является естественным продолжением подхода Node.js, когда мы сокращаем количество языков и технологий в системе, разрабатывая и клиент и сервер на JavaScript. Несмотря на экспериментальность, протокол JSTP уже используется в коммерческих продуктах, например, для интерактивного телевидения компанией SinceTV, где позволяет подключить одновременно десятки миллионов пользователей. Это решение получило приз за инновации в области телевидения на международном конкурсе Golden Panda Awards 2015 в Ченду (Китай). Есть внедрения в сфере управления серверными кластерами, готовятся решения для медицины, интерактивных игр, электронной торговли и услуг.



Слайды / Аудио версия


Читать дальше →
Всего голосов 40: ↑25 и ↓15+10
Комментарии95

Разработка веб-сайта на базе ASP.NET Core и Platformus CMS

Время на прочтение8 мин
Количество просмотров29K
В этой статье я хочу познакомить вас с Platformus CMS — молодой системой управления содержимым веб-сайтов (10-я альфа на момент написания статьи), построенной на базе не менее молодых ASP.NET Core и ExtCore framework. Подробно рассматривать архитектуру и другие технические детали мы сейчас не будем, а ограничимся упоминанием нескольких интересных фактов и затем сразу же попробуем CMS’ку в деле — создадим небольшой тестовый проект на ее основе.

Несколько интересных фактов


Платформус — бесплатная система управления содержимым с открытым исходным кодом. Она кроссплатформенная, модульная и расширяемая. Данные в ней представлены в виде объектов, которые описываются классами. Поддерживается мультиязычность.

Написана CMS на C#. Благодаря возможностям ASP.NET Core, она одинаково хорошо может работать на Windows, Linux и Mac. Сама исполняемая среда, необходимая для работы любого приложения на .NET Core, может быть как установлена отдельно, так и интегрирована непосредственно в само приложение. В качестве веб-сервера может использоваться IIS либо Kestrel (во втором случае приложение становится веб-сервером для самого себя и может работать самостоятельно или же быть встроено в контейнер вроде IIS или Nginx). В качестве хранилища данных на текущий момент поддерживаются Microsoft SQL Server, SQLite и PostgreSQL. С учетом всего перечисленного, можем получить конфигурацию, которой для работы не требуется вообще ничего стороннего — скопировал, запустил и пользуешься (может быть удобно для тестирования, например).

(В статье несколько десятков скриншотов.)
Читать дальше →
Всего голосов 17: ↑13 и ↓4+9
Комментарии14

Условное внедрение зависимостей в ASP.NET Core. Часть 2

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


В первой части статьи были показаны настройки инъектора зависимостей для реализации условного внедрения зависимости с использованием механизмов Environment и Configuration, а также получение сервиса в рамках HTTP-запроса, основываясь на данных запроса.

Во второй части вы увидите, как можно расширить возможности инъектора зависимостей, на примере выбора необходимой реализации по идентификатору во время выполнения приложения.
Читать дальше →
Всего голосов 18: ↑16 и ↓2+14
Комментарии23

От регистрации до витрины: как выложить мобильное приложение в App Store и Google Play (часть 1)

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


Начинающие мобильные разработчики часто испытывают затруднения при выкладывании своих проектов в Google Play и App Store. И если с первым особых проблем не возникнет, то со вторым придется повозиться, особенно, если вы выкладываете приложение от юридического лица. Поэтому в помощь начинающим мы решили написать туториал по размещению в официальных сторах приложений под iOS и Android.
Читать дальше →
Всего голосов 12: ↑11 и ↓1+10
Комментарии30

Полный список инструментов и утилит для Microsoft SQL Server

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

Полезные платные и бесплатные утилиты, инструменты для Microsoft SQL Server — полный список из 165 инструментов.

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

VIM: зачем, если есть IDE, и как?

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

Сегодня вышел текст о том, как человек перешёл с Sublime на VIM. В комментариях, как обычно это бывает, появились сообщения в духе "Зачем мне тратить время на Vim, если есть IDE, где всё работает?" (люди даже статьи на эти темы пишут). Хотел внести свои пять копеек, но объём написанного плавно перевёл текст из разряда "комментарий" в разряд небольшой статьи.


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


Узнать зачем и как начать
Всего голосов 100: ↑75 и ↓25+50
Комментарии401

Переговоры о зарплате — как не прогореть

Время на прочтение8 мин
Количество просмотров128K
image
Все фотографии в этой статье взяты из трилогии Кристофера Нолана «Тёмный рыцарь». Это всё же Бэтмен!

Давайте сыграем!

При подготовке вы хорошо поработали с телефоном. Интервью в офисе этим утром проходили занятно. После общего обеда сотрудник отдела кадров сел за стол напротив вас. Он спросил: «Какую зарплату вы бы хотели?».

Что вам делать? Что же вам делать?!


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

Или, возможно, он попробует другой подход, чтобы подтолкнуть вас назвать цифру: «Какая зарплата у вас сейчас?».

Этот вопрос звучит вполне резонно. Разве не надо отвечать на этот вопрос?
Читать дальше →
Всего голосов 81: ↑67 и ↓14+53
Комментарии392

Заключаем договор на создание технического задания

Время на прочтение6 мин
Количество просмотров39K
Кому интересен договор на сайт, смотрим тут: Договор навороченный, Договор простой (удален автором).

Этот топик про более редкую ситуацию, когда перед собственно проектом нужно сделать ТЗ, а это большая и серьезная работа. На нее нужен договор и цена.
Читать дальше →
Всего голосов 49: ↑47 и ↓2+45
Комментарии50

Multiple dispatch в C#

Время на прочтение7 мин
Количество просмотров30K
Мы уже рассмотрели две статьи, где функционал C# dynamic мог привести к неожиданному поведению кода.
На этот раз я бы хотел показать позитивную сторону, где динамическая диспетчеризация позволяет упростить код, оставаясь при этом строго-типизированным.

В этом посте мы узнаем:
  • возможные варианты реализации шаблона множественная диспетчеризация (multiple/double dispatch & co.)
  • как избавиться от реализовать Exception Handling Block из Enterprise Library за пару минут. И, конечно же, упростить policy-based модель обработки ошибок
  • dynamic – эффективнее Вашего кода

Читать дальше →
Всего голосов 21: ↑20 и ↓1+19
Комментарии17

Content Delivery Network от Akamai стал доступен пользователям Azure

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

Как и было анонсировано на На AzureCon в 2015 году, Content Delivery Network от Akamai стал доступен пользователям Azure! Теперь клиенты Microsoft могут использовать инфраструктуру Akamai, выбрав соответствующий тарифный план при создании нового CDN-ресурса:
Читать дальше →
Всего голосов 7: ↑7 и ↓0+7
Комментарии0

Yandex Translate для Visual Studio Code

Время на прочтение4 мин
Количество просмотров16K
Начну с того, что использую vim в качестве редактора файлов. Все удобно и быстро, но есть некоторые проблемы которые выделил при длительном пользовании:

  • Нет асинхронности. Знаю что есть nvim — но он работает не так быстро и не так гладко
  • Сложность написания плагинов. Спорный конечно вопрос для разных гуру — но честно говоря так много «каши», не хватает модульности и какой то структурности из уже реализованных «велосипедов»
  • Когда слишком много плагинов vim стартует — нужно быть честным, довольно долго и это напрягает

Пользуюсь так же по основному своему хобби — Android Studio. Очень прожорлив этот IDE к ресурсам системы, процессор иногда сходит с ума обрабатывая очередной цикл gradle assembleDebug.

Visual Studio Code испытывал скептически. Первое что удивило скорость запуска вместе с большой структурой проекта. Моментальный поиск по файлам и множество плагинов, отличный менеджер плагинов похожий на Sublime. Минимальная загрузка процессора.

Давно в Android Studio не хватало одной полезной штуки — перевод ресурсов strings.xml под другие языки. Делать раньше это было весьма неудобно:

  • Выделить текст
  • Скопировать
  • Перейти в любой онлайн переводчик
  • Вставить текст
  • Выбрать текущий язык перевода
  • Выбрать в какой язык перевести
  • Скопировать перевод
  • Открыть результирующий strings.xml
  • Вставить перевод

Чего хотелось — одной комбинацией клавиш получить моментальный результат.
Читать дальше →
Всего голосов 16: ↑11 и ↓5+6
Комментарии18

Краткая история Биткоин-Блокчейн для чайников. Сказка для взрослых

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

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

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

Как и многих других хороших людей, весьма быстро Стива выпилили из собственной компании и отправили в забвение делать мультики.

Делал себе мультики Стив делал, и тут ему пришло в голову, что весьма скоро компьютеры превратятся в мобильники-дебильники и станут они называться смартфонами. Взял Стив пару единиц денежного измерения в миллиардах, пришел к четырем богатырям контента Соне, Универсалу и Эми и Варнеру, и сказал «Дяди – возьмите мои несчастные деньги и дайте мне все права на музыку да фильмы, на весь мир конечно.». Раздались грустные голоса – а как же монополия, на что Стив весьма веско заметил «Где несколько единиц, а где монополия, братьи мои? Во-первых, мои телефончики будут белые и очень-очень красивые, а соответственно безгрешные. Во-вторых, несколько единиц!!» Сказано – сделано. Как говорится так и вышло. И появился некий онлайн магазин музыки и фильмов, который совершенно внезапно работал лишь с беленькими и очень-очень красивыми телефонами, и внезапно только у этого магазина и оказались права на контент на весь мир. Нет, понятно, дабы публика не возопила, каким-то прямо скажем почти калекам тоже доставались права, но несколько урезанные, например, на диски группы Ласковый Май для распространения исключительно в Мозамбике беременным мужчинам старше 60ти.
Читать дальше →
Всего голосов 19: ↑10 и ↓9+1
Комментарии20

Экспериментальная функция отладки .NET Core в Visual Studio Code

Время на прочтение6 мин
Количество просмотров11K
Сегодня мы выпускаем первую, экспериментальную и ознакомительную версию отладчика для набора инструментов ASP.NET Core CLI в составе редактора Visual Studio Code. Вначале я должен упомянуть несколько вещей:


Этот первый выпуск поддерживает точки останова, пошаговое выполнение, отслеживание переменных и стеки вызовов.


Однако, .NET Core и функции отладки находятся на ранних этапах разработки, поэтому в VS Code отсутствует ряд возможностей, привычных для пользователей IDE Visual Studio. Вот некоторые особенности редактора:
Читать дальше →
Всего голосов 14: ↑11 и ↓3+8
Комментарии0

Информация

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

Специализация

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