Pull to refresh
24
0
Антон Зубарев @aszubarev

User

Send message

Ультимативный Гайд По Эффективному Обучению (для влёта в IT с двух ног)

Level of difficultyEasy
Reading time10 min
Views58K

Постараюсь ужать многолетний опыт изучения навыков в одну малюсенькую статейку. Расскажу, как на практике освоить набор навыков любого размера, включая все необходимое, чтобы получить первую работу в IT. Объясню пошагово, как создать и придерживаться очень практичного и эффективного индивидуального плана обучения, по которому я сам занимался, в результате чего из полного чайника без диплома и платных курсов за пол года смог влететь в разработку на высококонкурентном рынке с 1000+ откликов на вакансию во времена массовых увольнений сразу в топовую IT‑компанию без связей, накрутки опыта и ментора и даже успешно пройти там испыталку, ведь план обучения позволил накопить багаж полезных знаний.

Правильный план обучения — это 70% получения работы. По этому плану ты сможешь освоить программирование без покупки курсов, то есть стать программистом бесплатно. Да и любой другой скилл или профессию тоже сможешь быстро и бесплатно получить, что сейчас особенно актуально с этим ИИ. Гарантирую, что по этому плану за короткий срок ты добьёшься больших результатов, а это автоматически значит, что потребуется тяжелая работа с твоей стороны. В конце статьи также будет секретный ингредиент, о котором никто не говорит и который может сделать процесс твоего обучения чуть ли не вдвое более эффективным. Ещё я приведу пример реального плана обучения и объясню, почему каждый его пункт настолько логичен, что ты просто не сможешь ему не придерживаться. Цель плана — получить максимальный результат при минимальных затратах времени и сил.

Читать далее

Типы совместимости в Schema Registry для Apache Kafka

Level of difficultyMedium
Reading time10 min
Views3.4K

В прошлой статье я писал о том, что такое Schema Registry и как используется в Apache Kafka. Сегодня я хочу углубиться в тему и описать поведение системы при различных типах совместимости . Правильное понимание и применение этих типов совместимости поможет обеспечить стабильность и гибкость системы при изменениях структуры данных.

Типы совместимости схем в Apache Kafka

Резервный мониторинг послушного дома

Reading time14 min
Views7.4K

Хотя концепция "умного дома" в полном объёме мало кем используется в жизни (и ещё меньше кем самостоятельно реализована), отдельные его компоненты - разного рода датчики, умные розетки, камеры и прочее, с доступом через "облако" - давно не редкость. До покупки дачи меня всё это слабо волновало - в квартире я вполне обходился механическими выключателями и градусником на окне. Тем не менее, необходимость следить за состоянием загородного дома вынудила заняться этим вопросом и я пошёл по самому простому пути с MiHome и кучей датчиков. Конечно, в нём хватает проблем - баги, которые не устраняют годами, датчики для разных регионов, периодически [кратковременно] отваливающееся облако. В целом, однако, всё это удовлетворительно работает уже не первый год, технического интереса не представляет и рассказать я хотел не об этом.

Вопрос, который меня всерьёз стал беспокоить уже на вторую зиму ((а именно зима - самый проблемный сезон) - необходимость в резервном решении на случай, если информация от MiHome перестанет поступать и надо будет решать - нужно ли срочно ехать и топить/чинить дом или можно ещё подождать, пока проблема сама рассосётся. Основных причин прекращения поступления информации три:

Читать далее

Опрос для оценки индекса лояльности сотрудников

Reading time11 min
Views3.8K

В этой статье мы рассмотрим важность проведения опросов для оценки индекса лояльности сотрудников и предложим практические рекомендации по их реализации. Индекс лояльности сотрудников (Employee Loyalty Index, ELI) является ключевым показателем, который помогает понять, насколько сотрудники преданы своей компании и насколько они готовы оставаться в ней надолго. Оценка индекса лояльности позволяет выявить потенциальные проблемы в коллективе, улучшить условия труда и повысить общую эффективность работы организации.

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

Читать далее

Основы безопасности в Kubernetes

Level of difficultyMedium
Reading time15 min
Views5.5K

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

Мы сосредоточимся на двух ключевых элементах безопасности в Kubernetes: Role-Based Access Control (RBAC) и Pod Security Admission. Эти механизмы играют важную роль не только в обеспечении безопасности приложений и данных в кластере, но и в управлении доступом и сетевыми взаимодействиями.

Элементы безопасности, такие как RBAC и Pod Security Admission, играют ключевую роль в обеспечении стабильности и эффективности работы приложений в Kubernetes, особенно при обработке больших объёмов данных и высокой нагрузке. Например, в ситуации с масштабируемым веб-приложением, которое управляет значительными объёмами пользовательских данных и транзакций, настройка этих механизмов может существенно улучшить управление доступом и сетевую безопасность. Это, в свою очередь, помогает предотвратить потенциальные угрозы и атаки, что критически важно для поддержания производительности и доступности данных. Таким образом, эффективно настроенные компоненты безопасности обеспечивают надёжный доступ к данным и минимизируют риски, связанные с увеличением нагрузки на приложение, улучшая общий пользовательский опыт.

Теперь давайте рассмотрим каждый из этих элементов более подробно.

Читать далее

Как человеку достигнуть бессмертия практически

Level of difficultyEasy
Reading time13 min
Views64K

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

(Если вам проще смотреть видео, чем читать публикацию, то видео по этой публикации здесь)

Читать далее

Как я запрограммировала собственный рукописный шрифт

Level of difficultyMedium
Reading time5 min
Views26K

У меня нередко бывает, что я решу не увлекаться слишком сильно какой-то затеей, но в итоге всё равно в неё погружаюсь. Так было и на этот раз.

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

Как протестировать логику консьюмеров и продюсеров и не сгореть? Spring Boot 3, Spring Kafka

Level of difficultyEasy
Reading time11 min
Views8.1K

Всем привет. Решил поделиться опытом тестирования логики консьюмеров и продюсеров в стандартном Spring Boot приложении. Я несколько раз подходил к этой задаче с различными вариантами и находил разные подводные камни, которые стимулировали меня искать дальше - более лучшее решение. И вот, в очередной раз прошерстив накопленный опыт человечества (stackoverflow), я реализовал очередной вариант, в котором пока не нашел минусов предыдущих реализаций. В любом случае, поделюсь с вами как я к этому пришел и почему для моих кейсов не сработали другие варианты (или показались хуже последнего).

Дисклеймер. Я сторонник интеграционных тестов при запуске сборки проекта с тестами. То есть это когда для unit-тестов поднимается контекст Spring со всеми плюсами (окружение, максимально похожее на боевое) и минусами (это ДОЛГО запускается и ДОЛГО описывается).

Часть 1. А разве это проблема вообще?

Коротко: ...

Читать далее

Неожиданное увольнение: Что происходит, когда тимлид забывает про свои обязанности

Reading time4 min
Views33K

Мой опыт в компании Virto Commerce Solutions, где я занимал ключевую роль UI автоматизатора, подвергся серьёзному испытанию из‑за безответственности тимлида, что неожиданно привело к моему увольнению.

Моя работа включала разработку собственного фреймворка, который интегрировал Java, Katalon/Maven, JavaScript с Cypress и иногда Python. Я не просто выполнял задачи; я был центральной фигурой в автоматизации UI всего проекта. Этот фреймворк позволил команде ускорить тестирование и повысить надежность релизов.

Помимо разработки, я активно обучал коллег по Java, делясь своими знаниями и помогая им освоить сложные аспекты автоматизации. У меня было много успешных взаимодействий с клиентами из США, где я оперативно решал их проблемы и улучшал процессы. Я также взял на себя проекты, которые изначально терпели неудачу, исправляя ошибки и доводя их до успешного завершения, несмотря на изначальные трудности и плохое управление.

Читать далее

Алгоритмизация творчества: создание интересной рекламы без креатива

Reading time10 min
Views34K

Предвидя негодование по поводу использования слова «креатив», спешу заметить, что в контексте этой статьи трудно использовать синоним. Честно.
Основная мысль — алгоритмизировать можно абсолютно любой мозговой процесс. Я взял рекламу в качестве примера для доказательства потому, что:
  1. Понять и оценить интересную рекламу может каждый человек;
  2. Реклама сильно завязана на творчестве и нестандартном мышлении, которое обычно представляется хаотичным и слабо поддающимся алгоритмизации;
  3. Я просто очень сильно люблю рекламу. И алгоритмы.

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

Алгоритм создания технических курсов, которые хочется проходить до конца

Reading time6 min
Views3.7K

Недавно, забросив свой очередной курс, который я обязательно как-нибудь пройду, я подумал: «Хватит это терпеть!».

И перестал это терпеть.

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

Итак, начнём

Suppgram: open-source служба поддержки на Telegram-ботах

Level of difficultyEasy
Reading time7 min
Views4.4K

Однажды ко мне пришли с запросом. Нужно было поднять горячую линию, в которую могли бы обращаться люди и получать ответы на свои вопросы, переписываясь с волонтёрами. Звучит как саппорт-система? Да, потому что это она и есть.

Осложнялась задача тем, что её нужно было сделать к завтрашнему дню. А, ну и, конечно, бесплатно!

Так у меня на руках оказался прототип системы, которая отлично справилась с поставленной задачей и которую я в качестве упражнения аккуратно переписал в open-source проект, который представляю вам сегодня — Suppgram. В статье я расскажу, чем оказались удобны Telegram-боты, как я подошёл к архитектуре проекта и как мне (не?) помогло знание паттернов проектирования.

К подробностям!

Запускаем кластер OpenSearch для централизованного хранения логов

Level of difficultyMedium
Reading time8 min
Views7.4K

Привет, Хабр! Я Максим Чудинов, инженер команды мониторинга в Cloud.ru. Одно из направлений нашей работы — обеспечение сбора логов с элементов инфраструктуры компании и их длительного хранения. Логи у нас хранятся в кластерах — их много и становится всё больше. Запускать новые и расширять существующие нужно быстро. Поэтому я разработал решение по автоматизации развертывания стека OpenSearch на виртуальных машинах с Ubuntu 20.04. О нем и расскажу в статье.

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

DBaaS в Kubernetes: падения и взлеты

Level of difficultyMedium
Reading time8 min
Views3K

Привет, Хабр! 

Мы — команда Рег.ру, направление облачных сервисов, — однажды решили создать сервис управляемых баз данных, он же DBaaS. Раскрываем технические аспекты DBaaS: на каких технологиях основана услуга, какие инструменты использованы, с какими трудностями мы столкнулись при создании и запуске в продакшн. Будет интересно!

Читать далее

Создаём безукоризненную автодокументацию кода на Python с помощью Sphinx

Level of difficultyEasy
Reading time8 min
Views9.3K

В этой статье я расскажу о генераторе документации Sphinx, с помощью которого можно автоматически создавать документацию для модулей Python. Кроме того, я буду использовать шаблон проекта Cookiecutter Data Science в Visual Studio Code (VS Code), поскольку он легко интегрируется в Sphinx и имеет стандартизированную структуру директорий. Официальное пособие по использованию Sphinx — отличный ресурс для пользователей, которые хотят углубиться в детали. А моя статья — это краткое руководство по началу работы с этим инструментом.

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

Пентест gRPC

Level of difficultyEasy
Reading time9 min
Views6.2K

В последнее время в современных веб-приложениях с микросервисной архитектурой всё чаще в качестве API используется фреймворк удалённого вызова процедур gRPC. Данный фреймворк чаще всего использует protocol buffers(protobuf) в качестве языка определения интерфейсов и в качестве основного формата обмена сообщениями. Однако, в отличие от более привычных форматов обмена сообщениями (JSON,XML и тд), которые являются текстовыми, в protobuf фигурируют бинарные данные. Помимо этого, gRPC в качестве транспорта использует исключительно HTTP/2. Чаще всего эти обстоятельства вызывают затруденения при тестировании безопасности веб-приложений, которые используют данный фреймворк.

Данная статья поможет разобраться в том, как тестировать веб-приложения, использующие gRPC. Содержание статьи частично пересекается с моим докладом на OFFZONE 2023, однако, если в нём был сделан упор на рассказ об аспектах protobuf и gRPC и обзор существующих инструментов для тестирования безопасности, то здесь мы рассмотрим практический пример по поиску уязвимостей на демонстрационном стенде с использованием Burp Suite и расширения prototbuf-magic, разработанным нами. Для ознакомления с основами protobuf и gRPC рекомендую послушать мой доклад.

Читать далее

Что разработчик никогда не должен делать

Level of difficultyEasy
Reading time5 min
Views30K

Перевод статьи разработчика из Южной Кореи.

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

1) Быть перфекционистом

Ничто не идеально, и я уверен, что «идеального кода» не существует тоже.

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

Читать далее

Kubernetes без интернета: как мы устанавливаем Deckhouse в закрытом контуре (обзор и видео доклада)

Level of difficultyEasy
Reading time8 min
Views6.7K

Всем привет! На связи Максим Набоких, архитектор и технический руководитель Deckhouse Kubernetes Platform. Deckhouse работает в компаниях из разных отраслей: нефтегазовые предприятия, финтех, государственные организации, банки, облачные провайдеры и так далее. И больше чем в половине этих организаций во внутренней инфраструктуре нет интернета — он просто запрещён. Поэтому нам надо было придумать процесс установки своей платформы в закрытый контур.

О том, как устанавливать Kubernetes (Deckhouse использует ванильный K8s), где «не ступал» ни один пакет из публичной сети, я рассказал на HighLoad++ 2023. Эта статья — текстовая версия моего доклада. Мы разберём целевую схему закрытого контура, нюансы работы инструментов для создания безопасной среды, посмотрим, как готовить дистрибутив Kubernetes-платформы к установке и осуществлять доставку приложений в закрытых окружениях.

Читать далее

Сравнение архитектурных паттернов GetX и BLoC

Level of difficultyMedium
Reading time5 min
Views4.2K

Всем привет! Я Айдар Мавлетбаев, Flutter-разработчик в AGIMA. В самом начале любого проекта очень важно выбрать архитектурный паттерн, ведь именно это может спасти ваш проект на более поздних этапах. В статье сравним архитектуры BLoC и MVC, подробно рассмотрим библиотеку GetX, выделим ее плюсы и минусы. В этом нам помогут два простых примера: это функция авторизации и List Data.

Читать далее

Модернизация сетевой инфраструктуры: куда бежать

Level of difficultyEasy
Reading time7 min
Views5.3K

Привет! Я Михаил Кадер, занимаюсь в Positive Technologies архитектурой решений по ИБ. Но в этой статье я хочу поговорить не об именно информационной безопасности, а затронуть по-прежнему актуальную тему импортозамещения. Если быть совсем точным, речь пойдет о модернизации сетевой инфраструктуры в условиях, когда многие зарубежные вендоры прекратили продажу и поддержку оборудования в России.

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

Читать далее

Information

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

Specialization

Backend Developer, Software Architect
Lead
Git
SQL
Docker
Python
Django
RabbitMQ
Kubernetes
Database
Designing application architecture
Creating project architecture