Pull to refresh
0
0
Лешик @aUdalov

Разраб

Send message

Как и зачем мы сделали свои банкоматы

Reading time8 min
Views87K
Идея создания собственного банкомата звучала несколько безумно. Но мы сознательно пошли на риск, чтобы наделить свой банкомат новыми возможностями, которых нет у конкурентов. В этом посте мы хотим рассказать, чему научилась наша команда в процессе разработки, тестирования и развертывания собственной сети банкоматов, и объяснить, почему изобретать велосипед заново отнюдь не бесполезное занятие.

Читать дальше →
Total votes 195: ↑187 and ↓8+179
Comments248

Начинающему веб-мастеру: делаем одностраничник на Bootstrap 4 за полчаса

Reading time15 min
Views214K
Фреймворк Bootstrap — это свободный набор инструментов для создания интерфейсов сайтов и веб-приложений. Его возможности ориентированы исключительно на фронтенд-разработку. Bootstrap — проект весьма популярный, о чём, например, говорит то, что он занимает (по состоянию на начало марта 2018-го года) второе место по количеству звёзд на GitHub.


Если вы хотите освоить Bootstrap, в частности, его самую свежую, четвёртую версию, значит, этот материал подготовлен специально для вас. Здесь, на небольшом сквозном примере, который реально освоить за полчаса, будут продемонстрированы основы Bootstrap, разобравшись с которыми вы вполне сможете сделать что-то своё, использовав этот фреймворк.
Читать дальше →
Total votes 40: ↑31 and ↓9+22
Comments42

Подборка полезных материалов: Микросервисы на .NET Core

Reading time3 min
Views22K
Хабр, привет! Сегодня хотим поделиться полезным контентом по разработке микросервисов на .NET Core: доклады с конференции .NET Conf 2017, Net Core microservices on Service Fabric, курс Microsoft Virtual Academy для новичков, список обучающих материалов, а также пламенная сибирская конференция D2D DevPRO’17. Обо всем этом читайте после ката.


Читать дальше →
Total votes 19: ↑17 and ↓2+15
Comments1

Мириады запущенных задач на C#

Reading time7 min
Views51K

Недавно на ресурсе Medium были опубликованы две статьи от одного и того же автора, затрагивающие функциональность C# async/await.


Основными выводами были:


  • рекурсивный вызов асинхронного метода в C# подвержен StackOverflowException
  • goroutine'ы лучше задач (тасков) в .NET в плане производительности

Но главная проблема вышеприведенных публикаций — абсолютное непонимание модели кооперативной многозадачности в C# с вводом читателей в заблуждение. Сами же бенчмарки — бессмысленные, как мы увидим позже.


Далее в статье я попытаюсь раскрыть суть проблемы более подробно с примерами решения.


TL;DR

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


NB: использоваться будут свежевыпущенный .NET Core 2.0 и Go 1.8.3.

Читать дальше →
Total votes 32: ↑29 and ↓3+26
Comments35

37 причин, почему ваша нейросеть не работает

Reading time9 min
Views43K
Сеть обучалась последние 12 часов. Всё выглядело хорошо: градиенты стабильные, функция потерь уменьшалась. Но потом пришёл результат: все нули, один фон, ничего не распознано. «Что я сделал не так?», — спросил я у компьютера, который промолчал в ответ.

Почему нейросеть выдаёт мусор (например, среднее всех результатов или у неё реально слабая точность)? С чего начать проверку?

Сеть может не обучаться по ряду причин. По итогу многих отладочных сессий я заметил, что часто делаю одни и те же проверки. Здесь я собрал в удобный список свой опыт вместе с лучшими идеями коллег. Надеюсь, этот список будет полезен и вам.
Читать дальше →
Total votes 37: ↑37 and ↓0+37
Comments11

Стек, который позволил Medium обеспечить чтение на 2.6 тысячелетия

Reading time10 min
Views23K

Предлагаю общественности мой перевод статьи Dan Pupius'а об архитектура сервиса Medium и используемых технологиях. Хочу особо отметить, что статья является переводом, поэтому местоимение "я", используемое в тексте далее относится к автору оригинального текста, а не к переводчику.


Фон


Medium это сеть. Это место, где обмениваются историями и идеями, которые важны — место, где вы развиваетесь, и где люди провели 1.4 миллиарда минут — 2.6 тысячелетия.


У нас более 25 миллионов уникальных читателей в месяц, и каждую неделю публикуются десятки тысяч постов. Но мы хотим, чтобы на Medium мерилом успеха было не количество просмотров, а точки зрения. Чтобы значение имело качество идеи, а не квалификация автора. Чтобы Medium был местом, где обсуждения развивают идеи, а слова по-прежнему важны.


Я руковожу инженерной командой. Раньше я работал инженером в Google, где я работал над Google+ и Gmail, а также был одним из со-основателей проекта Closure. В прошлой жизни я гонял на сноуборде, прыгал из самолёта и жил в джунглях.

Читать дальше →
Total votes 47: ↑45 and ↓2+43
Comments17

Суперсилы WinDbg для .NET-разработчиков

Reading time18 min
Views18K
Продолжая серию публикаций по докладам на конференциях, мы остановились на лучшем докладе DotNext 2016 Moscow, в которой Саша goldshtn Гольдштейн рассказывает о возможностях WinDbg для отладки .NET приложений. Этот действительно мощный инструмент позволяет решать задачи, с которыми не справляется встроенный отладчик Visual Studio.

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


Total votes 40: ↑38 and ↓2+36
Comments2

ASP.NET Core: Создание справочных страниц веб-API ASP.NET с помощью Swagger

Reading time10 min
Views52K
При создании высоконагруженных приложений бывает сложно разобраться в различных API. Сформировать качественную документацию и справочные страницы в рамках веб-API посредством Swagger с интеграцией Swashbuckle .NET Core так же просто, как добавить пару пакетов NuGet и изменить Startup.cs.


Читать дальше →
Total votes 24: ↑23 and ↓1+22
Comments2

Как в «Додо Пицца» потеряли 8 миллионов за один час из-за технической ошибки, а потом вернули

Reading time9 min
Views55K


Историю нашумевшей технической ошибки «Додо Пиццы», партнера Яндекс.Кассы, нам рассказал системный архитектор компании Андрей Моревский — сразу передаю микрофон автору.


Еду я в «Сапсане» на открытие первой в Санкт-Петербурге пиццерии «Додо», как вдруг получаю оповещение о множественных отменах оплаченных заказов. И не просто множественных — наша система за час умудрилась откатить якобы оплаченные заказы на 8 миллионов рублей!


Сейчас эта история вызывает только улыбку, но в то утро было совсем не смешно. Поэтому хочу поделиться некоторыми техническими подробностями инцидента и сделанными выводами, а заодно немного рассказать про систему обработки заказов «Додо Пиццы».

Улыбнемся вместе
Total votes 62: ↑56 and ↓6+50
Comments72

Yapf — причесываем код Python автокорректором

Reading time2 min
Views28K
В эпоху все большей популярности различных js и css linter'ов, не удивительно появление удобного линтера с автокоррекцией для Python.

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

image
Читать дальше →
Total votes 23: ↑20 and ↓3+17
Comments17

Как мы делали экосистему – единый «язык» дизайна для front end десятков связанных систем

Reading time10 min
Views9.8K
В этом посте мы расскажем о том, как учились разговаривать с пользователем на «языке» дизайна UI/UX и пришли к необходимости создания единой экосистемы для разных приложений одного заказчика. А также о том, какие технологии в этом помогли.

Что мы подразумеваем под единой экосистемой? Это комплекс разных IT-решений, веб- и мобильных приложений, объединенных единым «языком», на котором они разговаривают с пользователем. Такой язык есть, например, у всех продуктов Microsoft или у всех устройств Apple. Какое бы приложение одного и того же производителя вы не открыли, оно будет повторять логику своих «сородичей», показывать вам знакомые иконки.
Для компаний, создающих цифровые продукты, единая экосистема – ключевое конкурентное преимущество. Для нецифровых компаний, которые переходят «в цифру», создание аналогичных единых экосистем становится необходимостью, поскольку дает много преимуществ. В первую очередь, конечно, обеспечивает пользователям однородный UX и UI во всех системах, облегчает поддержку и обновление систем, повышает конверсию и удовлетворенность клиентов.
Разработка такой экосистемы стала для нас итогом длинного пути, о котором мы и расскажем.
Читать дальше →
Total votes 6: ↑5 and ↓1+4
Comments5

История создания первой игры на Unity — от идеи до релиза

Reading time7 min
Views41K


Добрый день! Я — инди-разработчик (с недавнего времени), 2 года назад, будучи пожарным, пришла в голову мысль создать свою игру на Android. Из опыта было только создание карт под игровые движки Gold Source и Source (на них построены старые добрые: Counter-Strike, Half-Life и многое другое), взяв волю в кулак, решил что я обязательно справлюсь и занялся штудированием интернет-поисковика Google.

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

Осторожно, под катом gif-изображения.
Читать дальше →
Total votes 56: ↑54 and ↓2+52
Comments40

JetBrains Night в Москве. Видео. Применение ReSharper в командах .NET-разработчиков

Reading time1 min
Views5K
29 сентября в Москве прошла мини-конференция JetBrains Night: 7 часов разработчики из JetBrains рассказывали о том, что компания делает, зачем, и что будет делать дальше, а потом отвечали на вопросы, обсуждали общие проблемы и слушали, как разработчики из других компаний рассказывают им о том, что они делают и почему им удобно или пока еще не очень удобно делать это с помощью того, что делает JetBrains.

На Хабре мы публикуем видео всех докладов, чтобы можно было в комментариях обсудить то, что не успели обсудить на JetBrains Night, особенно с теми, кто не смог приехать лично.

Предыдущие доклады можно посмотреть в прошлых публикациях, а сегодня мы публикуем видео доклада Размика Сейсяна об использовании ReSharper для того, чтобы разрабатывать на C# в командах. Итак, лучшие практики настройки Resharper для команд:

Total votes 17: ↑16 and ↓1+15
Comments7

Голос Сиэтла: разговариваем с Сергеем Тепляковым

Reading time16 min
Views6.8K
Последние две мои статьи — интервью со спикерами одной прошедшей конференции. Мне показалось интересным поговорить с человеком, который в свое время отказался выступать на этой конференции, “из за одного маленького семейного обстоятельства”. Этот человек — Сергей SergeyT Тепляков, MVP, автор отличной книги про паттерны проектирования, адепт TDD, ныне разработчик Tools for Software Engineers в Microsoft и мейнтейнер библиотеки Code Contracts.

Под катом много текста про конференции, TDD, парное программирование, архитектуру Code Contracts, Хабру.
Чем же занимаются разработчики в Сиэтле
Total votes 22: ↑22 and ↓0+22
Comments5

Фреймворк NancyFX и сервисы в стиле REST

Reading time5 min
Views17K
Здравствуйте, дамы и господа. Подумалось, в нашей пятничной рубрике еще не было ни одной дельной статьи о надувных динозаврах в контексте гостиничного бизнеса.

Если вдруг вас совсем не интересует фреймворк NancyFX и микросервисы на платформе .NET, создаваемые с его помощью — почитайте про динозавров!
Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments3

Akka.NET Bootcamp

Reading time4 min
Views13K


Добро пожаловать в Akka.NET Bootcamp. Это бесплатный курс для самостоятельного обучения, подготовленный парнями из Petabridge.

Учебный курс разделен на три части, в течение которых вы научитесь создавать полнофункциональные, реальные программы, используя Akka.NET акторы и множество других частей из Akka.NET framework.

Мы начнем с некоторых основных акторов и постепенно будем подходить к большим и более сложным примерам.

Этот курс для самостоятельного обучения — вы можете выполнять его в любом темпе на ваше усмотрение. Вы можете подписаться здесь и каждый день получать по одному уроку Akka.NET на ваш email (на английском языке — от перев.) если хотите.

ПРИМЕЧАНИЕ: На текущий момент учебный курс рассчитан на использование C# в качестве языка программирования.
Мы намерены добавить поддержку F# в будущем
(Также мы принимаем F# pull-реквесты)


Что вы узнаете


В учебном курсе Akka.NET вы изучите, как использовать акторы Akka.NET для создания реактивных, параллельных систем. Вы узнаете, как создать приложения, которые, возможно, казалось невозможным или очень-очень трудным до изучения Akka.NET. После учебного курса вы будете чувствовать себя более уверенно в решении сложных и больших проблем, чем раньше.
узнать больше
Total votes 8: ↑6 and ↓2+4
Comments0

ASP.NET Core + Docker: готовим вместе

Reading time6 min
Views41K
Мы рады поделиться с вами очередной статьей из серии статей о платформе ASP.NET Core (ранее ASP.NET 5). В этот раз Вячеслав Бобик — .NET-разработчика из компании Radario, продолжит свой рассказ о платформе рассказом про применение ASP.NET с контейнерами Docker. Все статьи цикла вы всегда можете найти тут #aspnetcolumn — Владимир Юнев

image

Кам нам известно, ASP.NET Core, можно(и даже нужно) запускать не только на Windows, но так же на Mac и Linux. Что это нам дает? Например можем запаковать наше приложение со всеми его зависимостями в docker контейнер и удобно разворачивать его на тестовых\рабочих средах. Мы не будем рассматривать о том что такое docker и как его устанавливать, а вместо этого попробуем собрать образ с ASP.NET Core.

Подготавлием тестовое приложение


У нас есть выбор на чем запускать наше первое ASP.NET Core приложение: на mono или на coreclr. Я выберу второй вариант, так как это модно, стильно, молодежно.

По традиции созданим пустой ASP.NET Core проект:
Читать дальше →
Total votes 25: ↑23 and ↓2+21
Comments2

ASP.NET 5. Аутентификация по токену

Reading time5 min
Views24K
Понадобилось мне написать некое ASP.NET WebApi приложение, и клиентское приложение на Javascript с использованием этого API. Решено было писать на ASP.NET 5, заодно и изучить новый релиз.

Если бы это было обычное MVC приложение, я бы использовал cookie-based аутентификацию, но кросс-доменные запросы не позволяют передавать куки. Следовательно, необходимо использовать token-based аутентификацию.

Microsoft предлагает свою реализацию — JwtBearerAuthentication. Но охота же самому во всем разобраться. Поэтому я решил написать свою реализацию — BearerAuthentication.
Читать дальше →
Total votes 11: ↑11 and ↓0+11
Comments3

Видео докладов от SPB .NET Community

Reading time3 min
Views12K


C июня этого года мы начали проводить митапы SPB .NET Community в Санкт-Петербурге и за это время у нас скопилось немало видео, которым я и хочу поделиться. Кому интересно посмотреть доклады про новшества в Visual Studio 2015, безопасность платформы ASP .NET, детали разработки многозадачных приложений и про взаимодействие с unmanaged миром из C#, прошу под кат.
Читать дальше →
Total votes 14: ↑12 and ↓2+10
Comments2

Лучшие доклады конференции DotNext 2015 Piter: Часть 2 (Видео внутри)

Reading time4 min
Views17K
Три дня назад я рассказал о тех докладах конференции DotNext 2015 Piter, которые, согласно опросу участников, заняли места с 6 по 10. Теперь пришло время рассказать про лучшую пятерку докладов.




5 место


Кирилл Скрыган, JetBrains — ReSharper vs. Roslyn
Средняя оценка: 4.33



Казалось бы, ReSharper — плагин к Visual Studio, который расширяет возможности IDE. Roslyn — компилятор (набор компиляторов). Что общего?

Дело в том, что для того, чтобы делать все возможные рефакторинги, подсказки и пр., ReSharper строит собственную модель, собственное синтаксическое дерево. А значит, в нем есть, фактически, половина компилятора, компиляторный front-end. А значит, его можно сравнить с фронтэндом Roslyn, что Кирилл и сделал в этом докладе.

Акценты Кирилл расставил не в пользу Roslyn:
  • ReSharper на 10 лет старше, в нем гораздо больше фич
  • Roslyn работает только для C# и VB, никаких JavaScript и прочих прелестей
  • синтаксическое дерево у ReSharper изменяемое и поэтому быстрое, а у Roslyn неизменяемое, генерит много memory traffic и поэтому медленное.




Основной вывод, который сделал я — Roslyn еще пока довольно сырой продукт, а почти все описанные Кириллом болезни — «детские». Пройдет время и наверняка от всех от них Рослин избавится. Ну а что будет на самом деле — покажет время.

Первые 4 места...
Total votes 28: ↑25 and ↓3+22
Comments3

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity