Как стать автором
Обновить
4
0
Андрей @flash2048

.NET Developer

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

Учимся быть фуллстек разработчиками. Пишем приложение на React/Redux/Webpack/ASP.NET Core 2.0/EF Core

Время на прочтение23 мин
Количество просмотров101K
Ни для кого не секрет, что .net сейчас используется в большинстве случаев как инструмент бэкенд разработки, а в клиентской разработке последние лет 5 правит js сообщество с своей экосистемой и инструментами для разработки. Это все безобразие с каждым годом усиливает пропасть между фронтэндом и бэкендом, и планка вхождения в область становится все выше и выше, разработчики начинают делиться на два лагеря и уходит такое понятие как фуллстек.

Да, под Node.js можно написать сервер, но для бэковой разработки, все же, .net бесспорный лидер. На js, на мой взгляд, очень сложно написать гибкий и легко поддерживаемый бэкенд, хотя возможно многие со мной и не согласятся.

Давайте ударим автопробегом по бездорожью попытаемся вопреки всему этому написать SPA приложение с бэком на .net core и клиентом на js, из инструментов разработки будем использовать горячо любимую Visual Studio.

После этого туториала, я надеюсь, веб и бэк разработчикам будет проще найти почву под ногами в вражьей области и понять в какую сторону двигаться для более углубленного изучения. Поехали!
Читать дальше →
Всего голосов 29: ↑26 и ↓3+23
Комментарии39

ASP.NET Core: Механизмы предотвращения атак 2.0

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

По встроенным механизмам безопасности ASP .NET Core написано мало статей. Даже официальная документация имеет пробелы. В этой статье мы пройдём по всем основным компонентам, имеющим отношение к безопасности, и разберём, как это работает внутри.


Если вы используете старый добрый ASP .NET, то для вас будет полезна информация по внутреннему устройству компонентов безопасности и лучшим практикам их использования. Здесь вы найдёте ответы на следующие вопросы: как реализованы современные анти-XSS механизмы и как их правильно использовать в ASP .NET Core? Как правильно работать с cookies и какие подводные камни там могут встретиться? Как был переписан механизм защиты от CSRF? Как правильно работать с криптографическими алгоритмами? Кроме того, рассказывается про опыт участия в Bug Bounty по поиску уязвимостей в ASP .NET Core.


Перед чтением рекомендуется освежить в памяти атаки из списка OWASP Top 10.


Прототипом статьи является доклад Михаила Щербакова на конференции DotNext 2017 Moscow. Михаил — Microsoft .NET MVP, участник .NET Core Bug Bounty Program, соорганизатор сообщества .NET программистов (Московское комьюнити называется MskDotNet, питерское — SpbDotNet). По работе последние 5 лет занимается безопасностью. Работал в Positive Technologies, в Cezurity, сейчас как консультант работает напрямую с заказчиками, по большей части в этой же сфере. Профессиональные интересы: статический и динамический анализ кода, информационная безопасность, автоматизация отладки кода, исследование внутреннего устройства .NET CLR.


В этом тексте огромное количество картинок со слайдов. Осторожно, трафик!

Читать дальше →
Всего голосов 54: ↑53 и ↓1+52
Комментарии2

Оставьте все сомнения: как избежать синдрома самозванца

Время на прочтение10 мин
Количество просмотров27K
Недавно я участвовал в независимом игровом фестивале Feral Vector, проводимом в Хебден-Бридж, Великобритания. Это потрясающее мероприятие, и если вы никогда там не были, то рекомендую его посетить. В этом году я хотел принять участие, поэтому произнёс краткую речь о синдроме самозванца, в которой рассказал о психологических проблемах и творчестве. Для меня было честью подняться на эту сцену и произнести эту речь перед целым залом.


После выступления я получил множество хороших комментариев от замечательных людей. Похоже, что им в основном понравились созданные мной слайды, но самое содержание речи нашло отклик у очень немногих. Я подумал, что будет неплохо записать свою речь и составить качественную статью. Я не пользовался заметками или сценарием, поэтому пытался примерно соответствовать тому, что говорил, и добавил при этом немного дополнительной информации.
Читать дальше →
Всего голосов 35: ↑34 и ↓1+33
Комментарии54

Для чего нужен Apache Ignite / GridGain, на примере .NET & C#

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

В последнее время имена GridGain и Apache Ignite нередко мелькают в интернетах. Однако, судя по комментариям (например, здесь), мало кто понимает, что же это за продукт и с чем его едят.


В этой статье я попытаюсь доступным языком объяснить, и на примерах кода показать, что умеет Apache Ignite.


Apache Ignite Logo


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

«Да ты же просто робот, имитация. Разве может робот написать симфонию?» — интервью о ИИ с Дмитрием Сошниковым, Microsoft

Время на прочтение9 мин
Количество просмотров9K
Разработка элементов систем искусственного интеллекта активно развивается и становится трендом сегодняшнего времени, а умных ботов сейчас и вовсе не пишет только ленивый. Именно поэтому мы взяли интервью у Дмитрия shwars Сошникова, одного из лучших в стране экспертов по ИИ. Он является технологическим евангелистом Microsoft, автором книг, статей и учебных пособий, а также преподавателем и координатором студенческих программ, специалистом по функциональному программированию, нейросетям и искусственному интеллекту.


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

Приложение на основе микросервисов на Azure

Время на прочтение8 мин
Количество просмотров9K
Эта публикация посвящена двум приложениям на основе микросервисов, созданным и развернутым в Microsoft Azure Service Fabric и в службе контейнеров Azure. Хотя основное внимание уделяется приложениям на основе микросервисов, работающим в Azure Service Fabric и в службе контейнеров Azure, следует отметить, что Azure — это открытая платформа, которая позволяет запускать приложения на основе микросервисов с помощью различных технологий, например, CloudFoundry, RedHat Openshift или Kubernetes.


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

Big Data для автодилера и автопроизводителя: от идеи до монетизации

Время на прочтение8 мин
Количество просмотров9K
IHS Automotive предсказывает, что к 2020 порядка 152 миллионов «подключенных» машин будут ежедневно генерировать до 30 терабайт данных. И бизнес, который сумеет грамотно воспользоваться этим богатством, очевидно, окажется «на коне». Поговорим о том, какую информацию можно использовать и что для этого нужно.


Всего голосов 24: ↑20 и ↓4+16
Комментарии10

Функциональный C#

Время на прочтение5 мин
Количество просмотров25K
C# — язык мультипарадигмальный. В последнее время крен наметился в сторону функциональщины. Можно пойти дальше и добавить еще немного методов-расширений, позволяющих писать меньше кода, не «залезая» при этом на территорию F#.
Читать дальше →
Всего голосов 31: ↑28 и ↓3+25
Комментарии59

Как перестать ходить на конференции участником и начать выступать? Советы от Андрея Акиньшина

Время на прочтение11 мин
Количество просмотров9.6K
В преддверии конференции DUMP мы решили поговорить с докладчиками о разработке, их работе и жизни. Первое интервью мы взяли у одного из лучших российских спикеров Андрея Акиньшина.

Андрей Акиньшин (@DreamWalker) — разработчик Rider в JetBrains, мейнтейнер проекта BenchmarkDotNet (библиотека для написания .NET-бенчмарков, поддержанная .NET Foundation), .NET MVP, кандидат физико-математических наук, серебряный призёр ACM ICPC.

Андрей — спикер многих мероприятий для разработчиков и председатель программного комитета конференции DotNext. В интервью Андрей рассказал, как собрать материал, как готовиться к докладу, как сделать интересные слайды и зачем вообще ходить на конференции.

image
Андрей Акиньшин — спикер многих конференций. Вот, например, одно из последних выступлений — «Поговорим про арифметику».
Читать дальше →
Всего голосов 43: ↑40 и ↓3+37
Комментарии24

Видеозаписи лучших докладов DotNext 2016 Moscow: Перфоманс, CLR и функциональное программирование на .NET

Время на прочтение4 мин
Количество просмотров13K
Если у вас еще нет планов на выходные – у меня есть предложение: посмотрите доклады с DotNext 2016 Moscow, вчера мы выложили их в общий доступ.

Вообще, мой любимый формат поста про конференции – обзор лучших докладов. Жаль, делать его получается только один раз на конференцию… В любом случае, сегодня у нас есть о чем поговорить: мы открыли доступ к видеозаписям лучших докладов конференции DotNext 2016 Moscow и близимся к завершению программы DotNext 2017 Piter (Питер, 19-20 мая), о которой тоже скажу пару слов.



Все видео под катом.
Всего голосов 33: ↑31 и ↓2+29
Комментарии1

Экосистема Dealer Mobility: как мы подружили автодилеров-официалов с их клиентами

Время на прочтение9 мин
Количество просмотров6.9K
Нет ничего нового в том факте, что мобильные приложения, предназначенные для повышения эффективности рабочих процессов и коммуникаций, — весьма эффективный инструмент продаж. Но сколько бы ни разрабатывалось универсальных теорий продаж, мобильные приложения в каждой отрасли имеют свою специфику. Сегодня мы поговорим об автомобильном сегменте на примере платформы Dealer Mobility. В данный момент ею пользуются 700 автодилеров и более 500 000 автовладельцев.



В отличие от ИТ-рынка, автомобильный сегмент не привык к постоянному обновлению технологий. Это достаточно инертный рынок, внедрение ИТ-решений, как правило, долго согласовывается на всех уровнях — от дилера до представительства автоконцерна или даже центрального офиса где-нибудь в Корее. Клиентам до сих пор предлагают установить в автомобиль  мультимедийные системы с CD-чейнджером, и дилерам удается продавать эти системы за большие деньги. Поэтому  продвигать  что-то новое приходится осторожно, со здоровым консерватизмом. Как найти тот единственный путь, который приведет разработку к успеху на авторынке, — вопрос весьма интересный.
Читать дальше →
Всего голосов 22: ↑21 и ↓1+20
Комментарии12

Играем в машинки по-взрослому: как мы стали поставщиками IT-решений для крупнейших автомобильных концернов

Время на прочтение8 мин
Количество просмотров20K
Работа на стыке инженерных технологий и программирования — это будущее. Уже сейчас множество стартапов объединяют в своих командах разработчиков и технарей, чтобы конструировать, например, роботов и дронов.

Немного в стороне стоит автомобилестроение, в котором в основном преобладают консервативные настроения. Исключением, наверное, является только Tesla Илона Маска. Бренды не пускают сторонних разработчиков к своим технологиям и развивают их внутри компаний, справедливо опасаясь промышленного шпионажа.

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


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

Различия Azure Resource Manager и Azure Service Manager — взгляд разработчика

Время на прочтение7 мин
Количество просмотров5K
Выражаем благодарность за подготовку статьи Михаилу Тряхову (@PerseptronYar) из компании Akvelon (Ярославль) за помощь в написании данной статьи. Михаил работает в команде разработчиков Microsoft Azure CLI (Command Line Interface) со специализацией на Networking Services.

Всем привет!

C 2008 года те из нас, кто работал с Azure, возможно, сами того не зная, использовали так называемый режим ASM (Azure Service Manager), который теперь называется классическим. Платформа Azure меж тем росла, развивалась, породила множество полезных сервисов, поддержку новых платформ и много еще чего хорошего. С ростом поддерживаемых и все более усложняющихся архитектур компонентов назрел целый ряд изменений, который решено было вынести в отдельный комплекс — ARM (Azure Resource Manager). В данной статье я поделюсь некоторыми моментами, с которыми сталкиваешься, осваивая данную платформу. Но сначала вспомним, что же такого серьезно нового оно нам несет.



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

[ В закладки ] Алгоритмы и структуры данных в ядре Linux, Chromium и не только

Время на прочтение9 мин
Количество просмотров86K
Многие студенты, впервые сталкиваясь с описанием какой-нибудь хитроумной штуки, вроде алгоритма Кнута – Морриса – Пратта или красно-чёрных деревьев, тут же задаются вопросами: «К чему такие сложности? И это, кроме авторов учебников, кому-нибудь нужно?». Лучший способ доказать пользу алгоритмов – это примеры из жизни. Причём, в идеале – конкретные примеры применения широко известных алгоритмов в современных, повсеместно используемых, программных продуктах.



Посмотрим, что можно обнаружить в коде ядра Linux, браузера Chromium и ещё в некоторых проектах.
Читать дальше →
Всего голосов 158: ↑149 и ↓9+140
Комментарии15

Отправляем сообщения в Telegram из C#

Время на прочтение2 мин
Количество просмотров94K
TLSharp rocks!

С# — развитый язык с большим количеством библиотек, но среди них нет ни одной работающей реализации Telegram API. Эту ситуацию я хочу исправить с помощью своей небольшой библиотеки TLSharp. В статье будет много кода и один котик.
Читать дальше →
Всего голосов 40: ↑33 и ↓7+26
Комментарии12

Митап SPB .NET Community #9

Время на прочтение2 мин
Количество просмотров4.5K
Хочу рассказать вам о первом в новом году митапе SPB .NET Community. Мы, отдохнув после праздников, снова взялись за подготовку интересных докладов по .NET темам и 9 февраля идем в гости к JetBrains, где парни будут рассказывать про архитектуру нового проекта Rider – кроссплатформенной C# IDE и трюки использования unmanaged памяти, реализованные в ReSharper 10.



Сразу приятная новость, если вы не из Санкт-Петербурга, но хотите послушать доклады, в этот раз мы организуем online-трансляцию. За подробностями и анонсами докладов прошу под кат.
Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии7

Полное руководство по использованию ASP.NET Core 1.0 (aka ASP.NET 5) Tag Helpers

Время на прочтение22 мин
Количество просмотров36K
Тег-хэлперы (Tag Helpers) – новая функция MVC, которую удобно использовать для генерации HTML кода. Они выглядят как обычные HTML элементы и атрибуты, но обрабатываются движком Razor на стороне сервера. Тег-хэлперы во многом представляют собой альтернативный синтаксис для HTML Helpers, но также они позволяют сделать то, что было трудно или невозможно сделать с помощью HTML Helpers. У каждого тег-хэлпера свое поведение и возможности. Эта статья рассмотрит базовые тег-хэлперы, существующие в MVC 6 (ASP .NET Core 1.0, как стало известно совсем недавно).
Читать дальше →
Всего голосов 23: ↑22 и ↓1+21
Комментарии6

Исходные коды библиотеки нейронных сетей на F# для .NET Framework

Время на прочтение4 мин
Количество просмотров18K
Периодически я получаю запросы относительно исходных кодов нейронных сетей, использованных в моих работах по анализу тональности, генерации текстов, а также в статьях на Хабре. Поэтому я решил выложить всё-таки их в открытый доступ, вместе с библиотекой на которую они опираются, несмотря на достаточно сырой код. В этой статье я напишу где взять, что можно сделать и немного о том, как пользоваться. Написана библиотка на языке F#, но использовать ее можно из любого .NET языка.
Читать дальше →
Всего голосов 23: ↑22 и ↓1+21
Комментарии7

Что быстрее: 0 или NULL?

Время на прочтение4 мин
Количество просмотров31K
Есть три агрегатные функции, которые чаще всего используются на практике: COUNT, SUM и AVG.

И если первая уже обсуждалась ранее, то с остальными есть интересные нюансы с производительностью. Но давайте обо всем по порядку…

При использовании агрегатных функций на плане выполнения, в зависимости от входного потока, может встречаться два оператора: Stream Aggregate и Hash Match.

Для выполнения первого может требоваться предварительно отсортированный входной набор значений и при этом Stream Aggregate не блокирует выполнение последующих за ним операторов.

В свою очередь, Hash Match является блокирующим оператором (за редким исключением) и не требует сортировки входного потока. Для работы Hash Match используется хеш-таблица, которая создается в памяти и в случае неправильной оценки ожидаемого количества строк, оператор может сливать результаты в tempdb.
Подробнее
Всего голосов 27: ↑23 и ↓4+19
Комментарии9

Делаем джойстик из Windows Phone

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

Небольшая предыстория.


imageОднажды вечером подошел ко мне сын и сказал, что хочет поиграть в Марио. Летом у бабушки на даче он любил «зарубиться» в дождливую погоду. А за окном как раз дождь. Не долго думая я скачал ему первый попавшийся эмулятор 8-ми битной приставки и игру. Однако, оказалось, что удовольствие от игры на клавиатуре совсем не то. Идти покупать джойстик было уже поздно. И тогда я подумал, что можно обойтись и без него. Под рукой у нас была старенькая Nokia Lumia, ее размеры и форма примерно совпадали с нашими нуждами. Было решено написать джойстик. Сын отправился рисовать дизайн на листе бумаги в клеточку, а папа пошел варить кофе и думать, как бы осуществить эту идею с наименьшими временными затратами.

Я решил пойти по пути наименьшего (с моей точки зрения) сопротивления. Эмулятору приставки в настройках надо указывать нажатые кнопки, значит наше приложение должно нажимать кнопки. Нажатие кнопок можно эмулировать при помощи старого доброго WINAPI.

Конечной идеей стало клиент-серверное приложение. Клиент (телефон) при нажатии на кнопку посылает запрос на сервер, который, в свою очередь, в зависимости от того что пришло эмулирует нажатие или отпускание кнопки клавиатуры. Связь же осуществляется через сокеты. Вроде все просто. Начинаем делать.
Читать дальше →
Всего голосов 20: ↑19 и ↓1+18
Комментарии8
1
23 ...

Информация

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