Pull to refresh
43
0
Igor Chakrygin @Ordos

.NET Developer

Send message

Поднимаем Kubernetes с нуля

Level of difficulty Medium
Reading time 10 min
Views 44K

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

Читать далее
Total votes 36: ↑33 and ↓3 +30
Comments 55

Как я делал внутренний cookbook по тому, как писать код (и результат можно скачать)

Level of difficulty Hard
Reading time 16 min
Views 15K

Авокадо с зубами подсказывает, что так код легче поддерживать, дописывать и рефакторить. Мы всё теперь пишем только так.

Привет, Хабр! У нас была проблема: каждый писал код как хотел. Было очень тяжело это поддерживать и ревьюить. Мы сначала думали, что достаточно написать стандарт кода. Оказалось, недостаточно, ему ещё надо обучить. Чтобы обучить, мы открыли для ревью эталоны кода, чтобы покрыть ими самую частую логику взаимодействия с компонентами. Тоже не хватило. А заодно я узнал, что мои же «золотые» образцы противоречили моему же стандарту кода (сначала было смешно, а потом пришлось переписывать).

В итоге я сделал кукбук с большим количеством примеров, чтобы объяснить культуру и методологию не через абстракции, а очень предметно. Начал вроде как просто для себя, оказалось полезно — и внедрил в работу команды.

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

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

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

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

Посвящается всем, кто коллекционирует элегантные решения без привязки к языку, фрэймворку, Фаундлингам и Software Craftsmanʼам.

Погнали.
Читать дальше →
Total votes 21: ↑20 and ↓1 +19
Comments 4

«Двойные» субтитры и автопауза — расширение для изучения языков с помощью Netflix и YouTube

Reading time 1 min
Views 25K

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

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

Основная особенность расширения — отображение двух субтитров сразу (например Английски + Русский), чтобы зрители могли сверять их и запоминать нужную им лексику. Однако он поддерживает и другие функции:

Читать далее
Total votes 21: ↑21 and ↓0 +21
Comments 20

Россия 2022: как не потерять все (или хотя бы попытаться)

Reading time 6 min
Views 194K


Peace, Хабр!


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


Сегодня пошел 8-ой день, как от этой уверенности почти ничего не осталось.


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

Читать дальше →
Total votes 229: ↑196 and ↓33 +163
Comments 712

Самые интересные блоги и сайты по C# / .NET

Reading time 3 min
Views 14K

0907_cs_sites_ru/image1.png


В этой небольшой подборке собраны разные источники информации, которые могут быть полезны C# / .NET разработчикам: блоги, репозитории с исходным кодом, стандарты и аккаунты разработчиков, рассказывающих о тонкостях как языка, так и платформы в целом.

Читать дальше →
Total votes 10: ↑9 and ↓1 +8
Comments 14

Экзамены для сертификации Microsoft теперь доступны на русском языке

Reading time 3 min
Views 9.4K

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

Читать далее
Total votes 11: ↑8 and ↓3 +5
Comments 17

Джентльменский набор программиста UE4, ч. 1

Reading time 3 min
Views 48K


Давно хотелось составить список навыков и инструментов, которыми, по моему мнению, должны входить в «джентльменский набор» любого программиста под Unreal Engine 4. Буквально на днях, в чатике по UE4 я встретил такое:

> blueprints, animation dev, tech art, ai, multiplayer, editor extensions. первое, что пришло в голову

> Что приходит на ум: blueprints, animations, AI, material editor, widgets, slate, editor extensions, ue4 plugins, physics, lighting, rendering, c++
+ Сколько времени работал(а) с движком и страна, всё :)

В таких формулировках всё сказанное — лишь набор слов. Поэтому я собрался и составил вопросник для тех, кто хочет быть UE4-программистом, и который позволяет оценить свой уровень тем, кто уже считает себя продвинутым программером под UE4.
Читать дальше →
Total votes 29: ↑28 and ↓1 +27
Comments 5

Основные проблемы в командах разработки и их решения

Reading time 8 min
Views 9.9K

Те, кто работал с разными командами знают, что в одних командах что-то работает само, а в других — за этим надо специально следить и организовывать. В одних — все время появляются новые идеи, а в других надо организовывать мозговые штурмы или подкидывать материалы и спрашивать — нашли ли что-то полезное.

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

Читать далее
Total votes 19: ↑17 and ↓2 +15
Comments 4

TypeScript: Раскладываем tsconfig по полочкам. Часть 1

Reading time 10 min
Views 82K

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

Читать далее
Total votes 30: ↑29 and ↓1 +28
Comments 4

10 антипаттернов деплоя в Kubernetes: распространенные практики, для которых есть другие решения

Reading time 21 min
Views 11K

Команда Kubernetes aaS от Mail.ru Group продолжает серию переводов о правильном использовании Kubernetes. В этот раз — об антипаттернах разработки на Kubernetes с рекомендациями, как сделать по-другому.

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

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

Читать далее
Total votes 39: ↑38 and ↓1 +37
Comments 12

Улучшения диагностики в .NET Core 3.0

Reading time 5 min
Views 11K
В .NET Core 3.0 мы представляем набор инструментов, которые используют новые возможности среды выполнения .NET, которые упрощают диагностику и решение проблем с производительностью.

Эти возможности помогут вам ответить на некоторые распространенные вопросы диагностики, которые могут у вас возникнуть:

  1. Является ли мое приложение работоспособным?
  2. Почему мое приложение имеет аномальное поведение?
  3. Почему мое приложение крашится?


Читать дальше →
Total votes 18: ↑18 and ↓0 +18
Comments 4

.Net Community Райффайзенбанка приглашает на митап UPD Трансляция

Reading time 2 min
Views 3.2K
.NET Community Райффайзенбанка приглашает на Meetup, который состоится в московском офисе в Нагатино 23 мая.

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


Total votes 29: ↑27 and ↓2 +25
Comments 6

Apache Kafka и RabbitMQ: семантика и гарантия доставки сообщений

Reading time 17 min
Views 64K


Подготовили перевод следующей части многосерийной статьи, где сравнивается функциональность Apache Kafka и RabbitMQ. В этой публикации речь идёт о семантике и гарантии доставки сообщений. Обращаем ваше внимание, что автор учитывал Кафку до версии 0.10 включительно, а в версии 0.11 появился exactly-once. Тем не менее, статья остаётся актуальной и полна полезных с практической точки зрения моментов.
Предыдущие части: первая, вторая.
Читать дальше →
Total votes 34: ↑34 and ↓0 +34
Comments 2

Умный поиск: как искусственный интеллект hh.ru подбирает вакансии к резюме

Reading time 8 min
Views 37K
Больше половины соискателей ничего не ищут, а создают резюме и просто ждут, когда их пригласят на собеседование или хотя бы пришлют подходящую вакансию. Когда мы думали, как для них должен выглядеть сайт по поиску работы, то поняли, что им нужна всего одна кнопка.



Делать такую систему мы начали полтора года назад — решили построить на машинном обучении алгоритм, который сам выбирал бы подходящие пользователю вакансии. Но мы очень быстро поняли: вакансии, похожие на резюме, и вакансии, на которые владельцу резюме хочется откликнуться, — далеко не одно и то же.
Читать дальше →
Total votes 21: ↑21 and ↓0 +21
Comments 21

Сборка Caffe в Google Colaboratory: бесплатная видеокарта в облаке

Reading time 7 min
Views 23K
Google Colaboratory — это не так давно появившийся облачный сервис, направленный на упрощение исследований в области машинного и глубокого обучения. Используя Colaboratory, можно получить удаленный доступ к машине с подключенной видеокартой, причем совершенно бесплатно, что сильно упрощает жизнь, когда приходится обучать глубокие нейросети. Можно сказать, что она является некоторым аналогом гугл-документов для Jupyter Notebook.

В Colaboratory предустановлены Tensorflow и практически все необходимые для работы Python-библиотеки. Если какой-то пакет отсутствует, он с легкостью устанавливается на ходу через pip или apt-get. Но что если необходимо собрать проект из исходников и подключиться к GPU? Оказывается, это может быть не настолько просто, что я выяснил в ходе сборки SSD-Caffe. В этой публикации я дам краткое описание Colaboratory, опишу встреченные трудности и способы их решения, а также приведу несколько полезных приемов.

Весь код доступен в моем Colaboratory Notebook.

Читать дальше →
Total votes 12: ↑11 and ↓1 +10
Comments 3

Где и как изучать машинное обучение?

Reading time 2 min
Views 76K

Всем привет!


Ни для кого не секрет, что интерес к машинному обучению и искусственному интеллекту растет в лучшем случае по экспоненте. Тем временем мой Яндекс Диск превратился в огромную свалку пейперс, а закладки в Google Chrome превратились в список, длина которого стремится к бесконечности с каждым днем. Таким образом, дабы упростить жизнь себе и вам, решил структурировать информацию и дать множество ссылок на интересные ресурсы, которые изучал я и которые рекомендую изучать вам, если вы только вначале пути (буду пополнять список постоянно).

Путь для развития новичка я вижу примерно так:

Untitled_presentation
Читать дальше →
Total votes 47: ↑44 and ↓3 +41
Comments 19

Настройка модели машинного обучения: подбор признаков и оптимизация гиперпараметров

Reading time 26 min
Views 19K

Введение


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



В статье, насколько возможно, используется русскоязычная терминология, выбранная автором на основе буквальных переводов англоязычных терминов и устоявшегося в сообществе сленга. О ней можно почитать здесь.
Читать дальше →
Total votes 7: ↑4 and ↓3 +1
Comments 10

Docker. Начало

Reading time 7 min
Views 228K


Примерно такие же эмоции я и мои коллеги испытывали, когда начинали работать с Docker. В подавляющем большинстве случаев это происходило от недостатка понимания основных механизмов, поэтому его поведение казалось нам непредсказуемым. Сейчас страсти поутихли и вспышки ненависти происходят все реже и все слабее. Более того, постепенно мы на практике оцениваем его достоинства и он начинает нам нравиться… Чтобы снизить степень первичного отторжения и добиться максимального эффекта от использования, нужно обязательно заглянуть на кухню Docker'a и хорошенько там осмотреться.
Читать дальше →
Total votes 24: ↑22 and ↓2 +20
Comments 31

Node.js + face-recognition.js: простое и надёжное распознавание лиц с помощью глубокого обучения

Reading time 5 min
Views 26K


Перевод статьи Node.js + face-recognition.js: Simple and Robust Face Recognition using Deep Learning.

В этой статье мы расскажем, как реализовать надёжную систему распознавания лиц с использованием face-recognition.js. Мы искали подходящую Node.js-библиотеку, которая умела бы аккуратно распознавать лица, но ничего не нашли. Пришлось писать самостоятельно!

В этом npm-пакете используется библиотека dlib, предоставляющая Node.js-биндинги для очень хорошо зарекомендовавших себя инструментов распознавания внутри этой библиотеки. Dlib использует методы глубокого обучения и поставляется с уже обученными моделями, которые продемонстрировали точность распознавания на уровне 99,38% при прогоне бенчмарка LFW.
Total votes 24: ↑24 and ↓0 +24
Comments 5

Vue.js + Asp.Net Core MVC + TypeScript и ещё Bootstrap4

Reading time 11 min
Views 32K

image


По стандартному шаблону Asp.Net Core MVC в Visual Studio 2017 создаем новый проект, переводим его на четвертый Bootsrtrap, встраиваем туда модульное приложение Vue.js на TypeScript.


Получаем простую, обозримую и легкую заготовку для создания своих веб-приложений на VS2017 с использованием Vue.js и TypeScript. Привычная среда разработки, в которой можно выполнять большую часть кодинга и отладки, а также быстрая пересборка приложения, делают работу вполне комфортной.


В генерации JavaScript-кода приложения принимает участие только штатный компилятор TypeScript и VS2017, что сильно сужает круг подозреваемых при возникновении глюков. А это, в свою очередь, — тоже большая экономия времени и нервов.


Материал рассчитан на способных управиться с VS2017 и знакомых с прогрессивным JavaScript фреймворком Vue.js.

Читать дальше →
Total votes 11: ↑11 and ↓0 +11
Comments 2

Information

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