Как стать автором
Обновить
9
-1
Дмитрий Кулагин @Dmitriy_Kulagin

Developer

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

Как мы с друзьями собрали сервис для построения маршрутов для походов и велопутешествий ActiveTrip.me

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

Всем привет! Меня зовут Александр, я разработчик ActiveTrip.me — cервиса для построения маршрутов для пеших, велосипедных, водных походов и путешествий, а также для хранения и группировки интересных мест в виде меток.

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

Читать далее
Всего голосов 33: ↑33 и ↓0+33
Комментарии55

Основы и практика CSS Grid Layout:  как использовать двумерную раскладку для повседневных задач

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

Наш фронтенд-разработчик Данила Абрамов @DanilAbr подготовил материал для новичков и практикующих разработчиков, у которых не было возможности разобраться с Grid. В первой части статьи — основные CSS-свойства и принципы раскладки, без которых невозможно понять Grid. Если вы знакомы с основами, переходите сразу со второй части — там примеры решения реальных задач.

Читать далее
Всего голосов 5: ↑4 и ↓1+3
Комментарии3

Миграция проекта nopCommerce на .NET 6

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

Этот пост является продолжением цикла статей про обновление проекта nopCommerce - бесплатной CMS с открытым исходным кодом для создания интернет-магазинов. В этой статье мы коснемся вопросов почему мы неуклонно стараемся обновлять платформу нашего приложения. Расскажем чего мы добились в плане производительности с .NET 6 и попробуем дать практическую оценку того результата, который мы получили.

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии3

Amazon Echo Dot vs. Google Home Mini — какой помощник лучше?

Время на прочтение21 мин
Количество просмотров12K
Голосовой интерфейс для взаимодействия с устройствами Интернета вещей (IoT) стремительно вторгается в повседневную жизнь. Если раньше механические, сенсорные переключатели и кнопки вполне устраивали, как средства коммуникации с техническими объектами, то сейчас привередливый пользователь с удовольствием произнесет простую фразу: «Alexa, turn living room lights on.» для того, чтобы включить свет и т.п. Впрочем, когда-то для этого требовалось всего лишь «хлопнуть в ладоши». Сейчас, наоборот, искусственный интеллект голосового ассистента делает вполне уверенные попытки осмысления голосовых запросов, сделанных в произвольной манере. В прошлой публикации «Что мы знаем об Amazon Alexa? Или первые впечатления от Amazon Echo Dot» была рассмотрена инфраструктура голосового ассистента Amazon Alexa на примере устройства Echo Dot. Вот и пришла пора рассмотреть конкурента в той же ценовой нише — Google Home Mini.


Похожие друг на друга Amazon Echo Dot и Google Home Mini, или это совсем разные устройства?
Всего голосов 16: ↑16 и ↓0+16
Комментарии9

Как начать понимать на слух английский? Подружиться с умными колонками

Время на прочтение6 мин
Количество просмотров18K
На Хабре было много статей о том, как выучить английский язык. Это — еще одна, однако здесь будут именно лайфхаки для того, чтобы прокачать навык понимания на слух, или аудирования. Причем мой подход претендует на уникальность в рамках Хабра. Навык аудирования исторически очень плохо развит в СНГ, но всё ускоряющаяся глобализация приводит к тому, что он становится понемногу востребован даже среди технических специалистов, от которых раньше требовалось «уровень английского: чтение технической документации».



Я решил, что единственный вариант достичь желаемого — избавиться от постоянного чтения, а для этого нужно отказаться от графического интерфейса, оставив только восприятие на слух, и в этом нам помогут умные колонки. Что можно делать с ними, и как с их помощью прокачать навык аудирования — под катом.
Читать дальше →
Всего голосов 12: ↑11 и ↓1+10
Комментарии25

Async programming in .NET: Best practices

Время на прочтение24 мин
Количество просмотров36K
Появление async/await в C# привело к пересмотру того, как писать простой и корректный параллельный код. Зачастую, используя асинхронное программирование, программисты не только не решают проблемы, которые были с потоками, но и привносят новые. Дедлоки и рейсы никуда не пропадают — их просто становится труднее диагностировать.



Дмитрий Иванов — Software Analysis TeamLead в Huawei, в прошлом техлид JetBrains Rider и разработчик ядра ReSharper: структур данных, кэшей, многопоточности, регулярный спикер конференции DotNext.

Под катом — видеозапись и текстовая расшифровка доклада Дмитрия с конференции DotNext 2019 Piter.
Всего голосов 30: ↑30 и ↓0+30
Комментарии6

Переход на микросервисную архитектуру

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


Вместо введения


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

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

Основное внимание в статье будет уделено тем глобальным проблемам, с которыми сталкивалась наша команда на протяжении всего проекта.

Эта статья будет первой из многих. И ее цель в первую очередь – ввести в нашу проблематику в контексте перехода на микросервисную архитектуру и плавно подвести к следующим темам, подробно раскрывающим отдельные аспекты перехода.
Читать дальше →
Всего голосов 15: ↑12 и ↓3+9
Комментарии10

Аномалии голосования по поправкам к Конституции России. Часть 1

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

Общероссийское голосование по вопросу одобрения изменений, вносимых в Конституцию Российской Федерации, проводилось с 25 июня по 1 июля 2020 года (wikipedia).


Основная цель данной заметки — это продемонстрировать как можно быстро начать работать с данными голосования и показать наличие определенного вида аномалий в них.


Все вычисления, визуализации и парсинг данных приведены в Google Colab, который доступен по этой ссылке Google Colab.

Читать дальше →
Всего голосов 180: ↑163 и ↓17+146
Комментарии387

Аномалии голосования по поправкам к Конституции России. Часть 2

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

Сcылка на первую часть


Основная цель второй части — это детально исследовать феномен массового рисования (выдумывания) результатов голосования на конкретных примерах.


Как и в первой части, все вычисления, визуализации и парсинг данных приведены в Google Colab, который доступен по этой ссылке Google Colab.


Читать дальше →
Всего голосов 118: ↑109 и ↓9+100
Комментарии263

Подключение многофакторной аутентификации Мультифактор в .NET Core

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

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


Пару слов зачем вообще нужна мультифакторная аутентификация:


  1. Безопасность
  2. Еще раз безопасность
  3. Удобство

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

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

Миграция с .NET Core 2.2 на .NET Core 3.1 на примере реального проекта

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

image


Эта статья является логическим продолжением обновления проекта nopCommerce — бесплатной CMS с открытым исходным кодом для создания интернет-магазинов. В прошлый раз мы рассказали о нашем опыте миграции проекта с ASP.NET MVC на ASP.NET Core 2.2. Теперь мы рассмотрим процесс миграции на .NET Core 3.1. Учитывая, что официальная поддержка .Net Core 3.1 будет длиться до декабря 2022 года, сейчас тема миграции очень актуальна. Поэтому, если вы хотите получить все преимущества обновленного фреймворка, идти в ногу с технологическими новинками и соответствовать набирающим популярность общемировым трендам, то самое время заняться миграцией.

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

Эталонное приложение на базе контейнеров и архитектуры микросервисов

Время на прочтение7 мин
Количество просмотров46K
Хабр, привет. Сегодня рассказываем вам об эталонном кроссплатформенном приложении .NET Core от Microsoft, созданном на основе упрощенной архитектуры микросервисов и контейнеров Docker. В статье поделимся большим количеством технических данных, документацией, книгами по теме, а также полезными ссылками. Ну и, конечно, видео, для лучшего понимания. Присоединяйтесь!

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

Собираем бандл мечты с помощью Webpack

Время на прочтение18 мин
Количество просмотров68K
JS-приложения, сайты и другие ресурсы становятся сложнее и инструменты сборки — это реальность веб-разработки. Бандлеры помогают упаковывать, компилировать и организовывать библиотеки. Один из мощных и гибких инструментов с открытым исходным кодом, который можно идеально настроить для сборки клиентского приложения — Webpack.

Максим Соснов (crazymax11) — Frontend Lead в N1.RU внедрил Webpack в несколько больших проектов, на которых до этого была своя кастомная сборка, и контрибьютил с ним несколько проектов. Максим знает, как с Webpack собрать бандл мечты, сделать это быстро и конфигурировать так, чтобы конфиг оставался чистым, поддерживаемым и модульным.


Расшифровка отличается от доклада — это сильно усовершенствованная пруфлинками версия. По всей расшифровке рассыпаны пасхалочки на статьи, плагины, минификаторы, опции, транспайлеры и пруфы слов докладчика, ссылки на которые просто не поставить в выступление. Если собрать все, то откроется бонусный уровень в Webpack :-)
Всего голосов 61: ↑58 и ↓3+55
Комментарии17

Как проапгрейдить существующий проект с ASP.NET MVC на ASP.NET Core. Практическое руководство

Время на прочтение17 мин
Количество просмотров14K
Этот пост родился из нашего опыта переноса существующего проекта с ASP.NET MVC на ASP.NET Core. Мы постарались собрать в одно целое весь процесс миграции в структурированном виде и описать различные узкие места, чтобы разработчики в дальнейшем могли опираться на этот материал и следовать дорожной карте при решении подобных задач.

Пара слов о нашем проекте. Мы open-source eCommerce платформа на ASP.NET, которая к моменту переноса успешно существовала уже 9 лет. Мы делали миграцию 2 года назад — но руки дошли написать об этом только сейчас. На тот момент мы были одним из первых крупных проектов, кто решился на подобный шаг.

Почему стоит перейти на ASP.NET Core


Прежде чем приступить к разбору шагов по переходу с ASP.NET MVC на ASP.NET Core, несколько слов о преимуществах этой платформы.


Читать дальше →
Всего голосов 19: ↑16 и ↓3+13
Комментарии13

Особенности тестирования Mobile Web приложений

Время на прочтение5 мин
Количество просмотров40K
Привет, Хабр.

Тестирование Mobile Web в чем-то похоже на тестирование Desktop Web. С одной стороны это те же HTML, CSS, JavaScript и прочие прелести, которые мы привыкли видеть. Те же проблемные места и типичные баги. С другой стороны, отличия все же имеются.

В этой статье я собрал небольшой чек-лист тех особенностей, которые важно проверять на Mobile Web проекте. Список не претендует на полноту, так что дополняйте его своими пунктами в комментариях. Я буду только рад. Единственное правило — пункт должен относиться только к мобильному вебу, а не к вебу вообще.


Читать дальше →
Всего голосов 25: ↑24 и ↓1+23
Комментарии8

Информация

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