Search
Write a publication
Pull to refresh
2
0
Павел Осадчий @atri24

.Net разработчик

Send message

Сравнительный анализ Docker Engine на платформах Windows Server и Linux

Reading time7 min
Views31K
Конференция Ignite в Атланте, которая проводилась в конце сентября сего года, стала важным событием для Microsoft и Docker Inc. А именно, тогда был выпущен финальный общедоступный релиз Windows Server 2016, в котором можно найти массу новых возможностей. Windows Server стал интеллектуальнее, в нём улучшили систему безопасности и поддержку облачных решений, повысили производительность, усовершенствовали сетевые инструменты. Нельзя забывать и об улучшенной поддержке кластеризации. Весьма интересна новая облегчённая версия ОС – Nano Server. Этот дистрибутив предназначен для использования в облачных службах. Тогда же был анонсирован Microsoft System Center 2016, стало известно кое-что о новой облачной платформе Azure Stack, возможностями которой можно будет воспользоваться в следующем году. Эта платформа позволит организациям размещать основные службы Azure в собственных дата-центрах.



На конференции было много новостей. Но, пожалуй, самой горячей стала новость о партнёрстве Docker Inc. и Microsoft в области поддержки Docker Engine на платформе Windows Server 2016.
Читать дальше →

Рак. Что с этим делать и чего делать не надо. Личный опыт

Reading time5 min
Views254K
Примерно год назад я расширенно ответил на статью о раке. Это вызвало массу комментариев и неподдельный интерес к теме. Я долго не писал, потому что я не был уверен, что все закончится в итоге хорошо. К сожалению, хорошо не закончилось. Эта статья в основном, о том чего делать не надо.
Читать дальше →

Главные по космосу

Reading time9 min
Views22K



Интересное ощущение возникает когда общаешься с нашими космопромышленниками, особенно из старой гвардии. Они работают на самом переднем крае науки и техники, совершают выдающиеся достижения, достойные первых полос мировых изданий и учебников. При этом, к своей реально фантастической работе они относятся как к обычному производству: государство заказало — мы выполнили; да, интересные задачи были, пришлось постараться, освоить новые технологии, сделать пару [десятков] открытий, найти новые оригинальные решения, открыть Вселенную человеку…

Читать дальше →

Эволюционный дизайн баз данных

Reading time32 min
Views22K


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


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


В последнее десятилетие мы наблюдаем рост гибких методологий. По сравнению со своими предшественниками, они изменяют требования к дизайну баз данных. Одно из важнейших среди требований – идея эволюционной архитектуры. В гибком проекте вы предполагаете, что не можете заранее поправить требования системы. В результате, иметь детализированную, четкую стадию дизайна в начале проекта становится непрактично. Архитектура системы должна эволюционировать одновременно с итерациями софта. Гибкие методы, в частности, экстремальное программирование (XP), имеют набор методик, которые делают эту эволюционную архитектуру практичной.

Читать дальше →

Рассказ о том, как быть количественным аналитиком

Reading time15 min
Views15K
После того, как я сдал экзамен CFA 1-го уровня, мне часто писали те, кто хотел узнать, как стать количественным аналитиком. В определённой степени данный материал отвечает на этот вопрос. Однако, здесь я расскажу скорее не о том, как стать аналитиком, а о том, как им быть в любой отрасли индустрии финансовых услуг, в которой вы работаете. «Быть аналитиком», в моём понимании, означает скорее следовать определённой идеологии, нежели ориентироваться на некий формальный набор знаний, навыков и правил.


Читать дальше →

Аутентификация и авторизация в микросервисных приложениях

Reading time11 min
Views227K

Автор: Вячеслав Михайлов, Solutions Architect

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

Мы разберемся с процессом аутентификации пользователя, работой технологии единого входа (Single sign-on/SSO), дадим общее представлении о технологии OAuth2 и принципах ее работы, не углубляясь в особенности конкретной технической реализации. В следующей статье в качестве примера удачной реализации мы рассмотрим библиотеку Thinktecture Identity Server v3, подробнее остановимся на ее функциональных возможностях, поговорим, как собрать минимальный набор компонент, необходимый для работы в микросервисной архитектуре и достойный использования в боевой системе. В третьей части мы покажем, как расширять эту библиотеку, подстраиваясь под нужды вашей системы, а завершит цикл статей разбор различных сценариев, встречавшихся в жизни многих разработчиков с рекомендациями для каждого случая.
Читать дальше →

Переводчик Google Translate подключили к нейросети

Reading time3 min
Views44K

Модель архитектуры GNMT (Google’s Neural Machine Translation). Слева сеть энкодера, справа — декодера, в середине модуль внимания. Нижний слой энкодера двусторонний: розовые модули собирают информацию слева направо, а зелёные — в обратном направлении

Компания Google собирается полностью перевести сервис Google Translate на глубинное обучение. Детальное описание алгоритма нейросети опубликовано на arXiv.org.

По предварительным оценкам Google, нейросеть обеспечивает гораздо лучшее качество перевода, чем обычные статистические методы. Её уже опробовали в сложнейшей языковой паре английский⟷китайский, и нейросеть сразу на 60% снизила количество ошибок перевода. Результат впечатляет. Другие языковые пары подключат к нейросети в течение ближайших нескольких месяцев.
Читать дальше →

Литий-ионные и литий-полимерные аккумуляторы: маркетинговые уловки и распространенные ошибки

Reading time7 min
Views102K
Неоднократно сталкиваюсь в статьях и комментариях (в статьях все же гораздо реже) с использованием неправильных данных или названий, которые впоследствии приводятся, как аргументы, хотя на самом деле они ошибочны изначально. И эти ошибки распространяются по всем ресурсам, включая Гиктаймс.

Этой статьей я бы хотел разъяснить некоторые моменты и провести своеобразный ликбез.
Читать дальше →

В гостях у легенды

Reading time5 min
Views23K


В прошедшие выходные в РКК «Энергия» состоялся первый в истории предприятия десант астрономов, блогеров и популяризаторов космонавтики. Полтора десятка человек из Москвы, Питера и Уфы посетили два музея, в которых хранятся легендарные экспонаты нашей космической истории. Эти музеи не являются закрытыми, но находятся на режимной территории, и в них несколько сложнее попасть. Каждый из высадившейся группы мог бы сам провести экскурсию, и, уверен, еще несколько отчетов вы скоро увидите. Но каждый ее провел бы по-своему. Приглашаю посмотреть мой вариант.
Читать дальше →

Жаргон функционального программирования

Reading time10 min
Views95K


У функционального программирования много преимуществ, и его популярность постоянно растет. Но, как и у любой парадигмы программирования, у ФП есть свой жаргон. Мы решили сделать небольшой словарь для всех, кто знакомится с ФП.


В примерах используется JavaScript ES2015). (Почему JavaScript?)


Работа над материалом продолжается; присылайте свои пулл-реквесты в оригинальный репозиторий на английском языке.


В документе используются термины из спецификации Fantasy Land spec по мере необходимости.


Arity (арность)


Количество аргументов функции. От слов унарный, бинарный, тернарный (unary, binary, ternary) и так далее. Это необычное слово, потому что состоит из двух суффиксов: "-ary" и "-ity.". Сложение, к примеру, принимает два аргумента, поэтому это бинарная функция, или функция, у которой арность равна двум. Иногда используют термин "диадный" (dyadic), если предпочитают греческие корни вместо латинских. Функция, которая принимает произвольное количество аргументов называется, соответственно, вариативной (variadic). Но бинарная функция может принимать два и только два аргумента, без учета каррирования или частичного применения.

Читать дальше →

Что значит робота разработать

Reading time28 min
Views33K
Вы читаете о роботах и программировании и думаете: «Было бы здорово сделать что-то подобное самому!» Теми, кем эта идея овладевает чуть больше просто мыслей смотрят кто и как делал своего робота. Читают статьи, смотрят видео. На картинках все понятно. В видеороликах тоже обычно показываются уже готовые продукты, а также сжато показываются технологии их изготовления. И вроде бы то же всё понятно: отпилил, прикрутил, припаял, соединил, запрограммировал вон на той программе вот этим кодом.

Еще более увлечённые, выбрав интересный и, с первого взгляда, простой вариант, переходят к действию и, зачастую копируя, делают своего первого робота. Это волевое и очень значимое решение — главное начать хоть что-то сделать самому! В процессе изготовления оказывается куча технологических заковырок вплоть до того, что оказывается для заказа/покупки какой-то штукенции, надо узнать как она точно называется. А еще — разъёмы не паяются нормально — и как на видео в одно касание всё получается? Процесс создания нередко затягивается, но настойчивый начинающий робототехник так или иначе добивает результат до какого-то осмысленного первого запуска хотя бы «по прямой».



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

Роботостроительство – делаем базовую платформу для будущего робота

Reading time34 min
Views45K
Всем бодрого/доброго (нужное подчеркнуть) времени суток и хорошего настроения! Хочу рассказать и показать процесс, как я придумывал (проектировал) и изготавливал базовое шасси для четырёхколёсного робота.

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



Цель этого поста – показать процесс разработки и изготовления подобной платформы. Обычно в статьях по робототематике показывают уже готовые устройства, демонстрируя, что сделано и как оно в результате работает. Это интересно, конечно же. Но с бóльшим удовольствием я читаю статьи, в которых поэтапно показывается, как именно сделано, почему и описание каких-то отдельных моментов или мыслей. Я попробую подробно описать как собиралась движущаяся платформа в домашних условиях. Эта статья – профильное чтение для отдыха. Саму статью я подготавливал, наверное, больше времени раза в три, чем рукоделием занимался. Не претендую на полноту описания, высокотехнологичность, наукоёмкость, инновационность и безошибочность… Но надеюсь, что для кого-то она поможет сделать какие-то первые шаги и покажет, что современная модульная электроника это совсем не сложно, хотя и не совсем просто, как кажется. «Дяди снова играют в машинки вместо того, чтобы серьёзным делом заниматься». Но ведь нужно же заниматься чем-то тем, кто никак не может вырасти. Осторожно – под катом будет много текста и неприлично много картинок.
Читать дальше →

Проблемы современной робототехники, или почему нынче роботы (за редким исключением) никому не нужны

Reading time5 min
Views33K
Речь естественно не идет про промышленных роботов, те прочно заняли свою нишу и у них все хорошо. Но вот «бытовые» роботы, роботы для простых людей как-то до сих пор не получили хоть какое-то приличное распространение.

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

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

Но все по порядку, и начну я, собственно, с того хорошего, что есть.

image
Читать дальше →

Что делать с чужими долгами?

Reading time16 min
Views34K
Один из аспектов профессии разработчика — посвящение профанов в особенности процесса разработки ПО.
С. Макконнелл, Совершенный код

Цель этой публикации — поделиться опытом работы над проектом со сложной историей и тяжёлым наследием. После ухода из очередного т.н. «стартапа», я решил что хочу попробовать новых ощущений: enterprise, legacy, etc. Для этого взялся за работу над корпоративным приложением для транснационального концерна. Разработка на тот момент шла уже третий год, приложение пережило несколько поколений разработчиков, но стабильного релиза так и не было.

Полагаю публикация будет полезной:

  • разработчикам принимающим аналогичное решение, чтобы взвесить за и против
  • менеджерам «непростых» проектов, чтобы лучше понять причины и следствия технических проблем
  • и, конечно, просто любопытствующим

Затрагиваемые в статье вопросы:

  • Низкая компетенция разработчиков, и что с этим можно поделать?
  • Какие аргументы убедительны в глазах заказчика для нефункциональных изменений в проекте?
  • Почему работа аналитиков и QA очень важна с точки зрения разработки в частности и для проекта в целом?

Читать дальше →

Баллада о SharePoint

Reading time89 min
Views217K
image

Предисловие


Важно! Если Вам хочется побыстрее приступить к технической стороне дела – просто пропустите эту главу.

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

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

Читать дальше →

Как применять IDisposable и финализаторы: 3 простых правила

Reading time7 min
Views64K

От переводчика


После рассказа об утечке памяти и правильной реализации событий размещаю еще один перевод понравившейся мне статьи на тему управления памятью. Я видел несколько разных реализаций Dispose паттерна, иногда они даже противоречили друг другу. В этой статье автор представил хорошее и четкое разъяснение, когда следует реализовывать интерфейс IDisposable, когда финализаторы, а когда — все вместе.
И когда же?

ASP.NET 5 Identity 3 и новый инструментарий аутентификации/авторизации

Reading time9 min
Views21K
Жизнь в Лас-Вегасе не ограничивается азартными играми. Несмотря на славу игорной столицы, здесь проходят и мероприятия совсем из других сфер жизни. В частности, ежегодная конференция DEVIntersection, которую в этом году посетила команда наших разработчиков. И здесь мы хотим рассказать обо всём самом важном и интересном, что они узнали на конференции.
Читать дальше →

Погружение в ASP.NET 5 Runtime

Reading time16 min
Views28K

Вступление от переводчика


Данная статья является переводом ASP.NET 5 — A Deep Dive into the ASP.NET 5 Runtime — введения в архитектуру DNX и построенного на нем ASP.NET 5. Так как оригинальная статья была написана в марте 2015 года, во время, когда ASP.NET 5 был еще в стадии активной разработки (примерно beta 3), многое в ней устарело. Поэтому при переводе вся информация была актуализирована до текущей версии ASP.NET 5 (RC1), также были добавлены ссылки на связанные ресурсы (в основном на docs.asp.net) и исходный код на GitHub (смотрите только в случаях, если вам интересна реализация). Приятного погружения!

.NET Runtime Environment (DNX)


ASP.NET 5 базируется на гибком, кроссплатформенном runtime, который может работать с разными .NET CLR (.NET Core CLR, Mono CLR, .NET Framework CLR). Вы можете запустить ASP.NET 5 используя полный .NET Framework или можете запустить используя новый .NET Core docs, который позволяет вам просто копировать все необходимые библиотеки вместе с приложением в существующее окружение, без изменения чего-либо еще на вашей машине. Используя .NET Core вы также можете запустить ASP.NET 5 кроссплатформенно на Linux docs и Mac OS docs.

Инфраструктура позволяющая запускать и исполнять приложения ASP.NET 5 называется .NET Runtime Environment docs или кратко DNX. DNX предоставляет все что необходимо для работы .NET приложений: host process, CLR hosting логику, обнаружение управляемой Entry Point и т.д.

Логически архитектура DNX имеет пять слоев. Я опишу каждый из этих слоев вместе с их обязанностями.
Изображение взято из статьи DNX-structure wiki
Архитектура ASP.NET 5 и DNX

Читать дальше →

Что на самом деле происходит, когда пользователь вбивает в браузер адрес google.com

Reading time19 min
Views444K


Эта статья является попыткой ответа на старый вопрос для собеседований: «Что же случается, когда вы печатаете в адресной строке google.com и нажимаете Enter?» Мы попробуем разобраться в этом максимально подробно, не пропуская ни одной детали.

Примечание: публикация основана на содержании репозитория What happens when...

Представленный контент изобилует большим количеством терминов, в переводе некоторых из них могут присутствовать различные неточности. Если вы обнаружите какую-то ошибку в нашем переводе — напишите личным сообщением, и мы всё исправим.

Мы перенесли перевод в репозиторий GitHub и отправили Pull Request автору материала — оставляйте свои правки к тексту, и вместе мы сможем значительно улучшить его.
Читать дальше →

Двадцать один бесплатный инструмент, о котором должен знать каждый системный администратор

Reading time6 min
Views21K

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


Читать дальше →

Information

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