Как стать автором
Обновить
43
0
Igor Chakrygin @Ordos

.NET Developer

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

Как ускорить сборку Docker-образов в GitLab: стратегии кэширования с Docker Buildx

Уровень сложностиСложный
Время на прочтение16 мин
Количество просмотров7.2K

Скорость сборки Docker-образов играет важную роль в CI/CD, особенно для микросервисов, где частые обновления и тестирования требуют быстрой доставки изменений.

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

В этой статье мы сосредоточимся на том, как эффективно настроить и использовать кэширование с Docker Buildx в CI/CD пайплайнах на GitLab. Мы рассмотрим примеры, когда кэширование позволяет ускорить сборку, и ситуации, когда его лучше отключить для гарантии корректности итогового образа.

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

«Когда будет готово?». Декомпозируем задачи и оцениваем сроки без фатальных ошибок

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров16K

Всем привет! Я Виктор Брыксин, руковожу разработкой Яндекс Телемоста. В статье поговорим про декомпозицию задач в проекте и как можно получить реальные сроки его выполнения.

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

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

Командная динамика по Брюсу Такману: чему нас учит опыт подводников

Время на прочтение6 мин
Количество просмотров73K
В прошлом видео мы говорили о том, что у команды должен быть мамонт — общая разделяемая цель, которую можно достичь только всем вместе. Но только цели — недостаточно, потому что после формирования команды в дело вступают социологические эффекты.

И тут нам на помощь пришел американский психолог Брюс Такман, которому довелось исследовать тысячи команд по заказу Министерства Обороны США. Военные пытались понять, как себя будут вести экипажи подводных лодок в автономном плавании. Не захочет ли кто уволиться? Или там предъявить капитану черную метку?

На основании этих исследований Такман сформулировал свой концепт, которым мы теперь с благодарностью пользуемся:



И тут необходимо вспомнить несколько историй из реальной жизни…

Несколько историй о том, как ускорять формирование команд
Всего голосов 13: ↑9 и ↓4+5
Комментарии8

Как настроить работу на Канбан-досках с нуля за 15 минут? Руководство для начинающих

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров13K

На канбан-досках могут быть различные виды задач, в зависимости от конкретного проекта, типа бизнеса или потребностей команды. В этой статье разберём основы ведения учета задач на Канбан-доске, необходимые колонки, виды и типы задач, в том числе Epic, userstory, task.

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

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

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров56K

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

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

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

Уровень сложностиСложный
Время на прочтение16 мин
Количество просмотров17K

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

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

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

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

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

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

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

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

Погнали.
Читать дальше →
Всего голосов 19: ↑18 и ↓1+19
Комментарии4

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

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

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

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

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

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

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

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


Peace, Хабр!


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


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


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

Читать дальше →
Всего голосов 191: ↑158 и ↓33+163
Комментарии712

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

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

0907_cs_sites_ru/image1.png


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

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

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

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

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

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

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

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


Давно хотелось составить список навыков и инструментов, которыми, по моему мнению, должны входить в «джентльменский набор» любого программиста под 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.
Читать дальше →
Всего голосов 29: ↑28 и ↓1+27
Комментарии5

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читать далее
Всего голосов 22: ↑21 и ↓1+37
Комментарии12

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

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

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

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


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

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

Время на прочтение2 мин
Количество просмотров3.3K
.NET Community Райффайзенбанка приглашает на Meetup, который состоится в московском офисе в Нагатино 23 мая.

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


Всего голосов 29: ↑27 и ↓2+25
Комментарии6

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

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


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

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

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



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

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

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

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

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

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

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

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

Всем привет!


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

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

Untitled_presentation
Читать дальше →
Всего голосов 47: ↑44 и ↓3+41
Комментарии19
1
23 ...

Информация

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