Как стать автором
Обновить
54
0
Волосатов Евгений @FFormula

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

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

MANIFESTO: Формализуем принципы работы команды

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

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

Одним из способов формирования культурного кода команды является формализация общего свода «правил», которым все члены команды обязательно должны придерживаться. Такой «формализованный» документ называется МАНИФЕСТ (или MANIFESTO). Если сказать общими словами, то МАНИФЕСТ — это документ, описывающий ценности, принципы и ожидания, которым сотрудник должен придерживаться при работе в команде. МАНИФЕСТ является общим трудом всей команды, которому все согласились придерживаться. Обычно для его создания собирается целая сессия, на которой каждый член команды может выговориться и проголосовать за те или иные элементы МАНИФЕСТА. В идеальном мире он должен вбирать в себя еще и основные фрагменты корпоративной культуры компании, но не полностью их дублировать (так сказать, иметь специфику самой команды).

Его структура нигде не закреплена и каждая команда определяет ее для себя. Я хочу поделиться своим примером манифеста для IT HR бизнес-партнеров и надеюсь, что кому-то он тоже будет полезен.

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

Garbage Collection и JVM

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

Привет, Хабровчане!

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

Знание того, как работает GC и JVM, необходимо каждому Java-разработчику. Правильное управление ресурсами напрямую влияет на производительность и стабильность приложений.

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

Предсказательное моделирование (Predictive Modeling)

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

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

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

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

Архитектура серверного рендеринга для SPA

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

Серверный рендеринг обеспечивает быстрый и надежный доступ к контенту. В этом подходе веб-страницы формируются на сервере, а не в браузере пользователя. Это позволяет значительно ускорить время загрузки, что особенно критично для современных одностраничных приложений, известных как SPA (Single-Page Applications).

SPA несмотря на их удобство и функциональность сталкиваются с рядом проблем, включая SEO-оптимизацию и производительность, особенно на медленных соединениях или устройствах.

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

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

Как цели ведут команды к успеху

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

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

Но прежде чем приступить к основной теме, хочу задать вам один вопрос: как часто вы присутствуете на встрече, совещании, продуктовой сессии или даже встрече топ-менеджеров по стратегическому планированию, где отсутствует цель встречи, где фасилитатор или заказчик встречи ее не озвучили или вовсе не определили при подготовке? 

Читать далее
Всего голосов 11: ↑7 и ↓4+6
Комментарии1

Лев Толстой о мобильной разработке: Искусство написания приложений

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

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

Так сказал бы Лев Николаевич Толстой.

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

Эффективность на максимум: Микрооптимизации в Golang

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

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

Каждая миллисекунда имеет значение, микрооптимизация это must have, особенно на языке Go.

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

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

Как утереть нос NumPy с помощью двумерного БПФ

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

Двумерное преобразование Фурье — один из важнейших алгоритмов компьютерной науки этого столетия. Он нашел широкое применение в нашей повседневной жизни — от фильтров Instagram до обработки MP3-файлов.

Наиболее частой реализацией, используемой рядовым пользователем, иногда даже неосознанно, является адаптация из NumPy. Однако, несмотря на популярность, их алгоритм не является самым эффективным. С помощью нескольких простых манипуляций и статьи 2015 года мы обошли алгоритм NumPy по производительности аж на 30-60%. Основная проблема этой реализации заключается в том, что она изначально основана на слабом с точки зрения производительности алгоритме.

По своей сути алгоритм, реализуемый NumPy, является поочередным применением обычного одномерного БПФ (FFT) к двум измерениям, что очевидно не может быть оптимальным решением.

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

Читать далее
Всего голосов 20: ↑19 и ↓1+23
Комментарии10

Масштабирование телеграм-ботов на примере aiogram

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

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

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

Читать далее
Всего голосов 14: ↑10 и ↓4+9
Комментарии16

Как собраться с друзьями и сделать игру в Unreal Engine на одной сцене

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

Раньше, когда я ещё учился, мы любили собираться с друзьями и пробовать создать игры на выходных или в течение месяца. Каждый из нас был занят чем-то одним: кто-то создавал сцены, кто-то делал модели, а я программировал логику. И с тех времён была главная сложность: как работать с одной сценой нескольким людям одновременно? Ответ — почти никак. Но есть одна хитрость, называемая саблевел.

Читать далее
Всего голосов 12: ↑9 и ↓3+7
Комментарии4

Управление конфигурациями: Puppet vs. Chef vs. Ansible

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

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

В управлениях конфигурациями выделяются три крупных игрока: Puppet, Chef и Ansible. Все они предлагают мощные возможности, но каждый со своим уникальным подходом и философией.

Читать далее
Всего голосов 14: ↑8 и ↓6+4
Комментарии38

Kubernetes на AWS: пошаговое руководство

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

В этой статье мы рассмотрим несколько распространенных способов создания кластера Kubernetes на AWS:

Создание кластера с помощью kops: kops — это инструмент, предназначенный для промышленной эксплуатации, используемый для установки, обновления и управления Kubernetes на AWS.

Создание кластера с помощью Amazon Elastic Kubernetes Service (EKS): EKS — это управляемый сервис Kubernetes, предоставляемый компанией Amazon. Кластер Kubernetes с EKS можно создать с помощью AWS Management Console.

Создание кластера с помощью Rancher: Rancher — это платформа управления Kubernetes, которая упрощает развертывание Kubernetes и контейнеров.

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

Анализ текстовых данных с помощью NLTK и Python

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

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

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

В NLTK включены корпуса текстов и словарные ресурсы, такие как WordNet, позволяющие работать с огромным объемом текстовых данных. Это делает NLTK мощным инструментом для анализа и обработки текста на разных языках.

NLTK — это свободно распространяемая библиотека Python, разработанная для работы с человеческим языком. Это комплексный набор инструментов, предназначенный для символьной и статистической обработки естественного языка. Она предоставляет легкий доступ к более чем 50 корпусам текстов и лексическим ресурсам, таким как WordNet, а также набор библиотек для классификации, токенизации, стемминга, метки частей речи, синтаксического анализа и семантического рассуждения.

Читать далее
Всего голосов 11: ↑9 и ↓2+9
Комментарии1

Наводим порядок в наших миграциях

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

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

Читать далее
Всего голосов 16: ↑9 и ↓7+3
Комментарии4

Компромисс смещения и дисперсии в машинном обучении

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

Привет Хабр! В этой статье мы рассмотрим такое понятие в машинном обучении, как компромисс смещения и дисперсии (bias-variance Tradeoff). Так как понимание того, что можно изменить в процессе обучения нашего алгоритма обучения, приведет нас к созданию более точных моделей.

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

Kubernetes Scheduler в Деталях: Ключевые Концепции. Часть 2

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

В мире, где Kubernetes доминирует в управлении контейнеризированными приложениями, один вопрос часто встаёт перед теми, кто стремится понять его внутренние механизмы: 'Как на самом деле работает k8s scheduler?' Эта статья предназначена для развенчания мифов и предоставления чёткого объяснения работы Kubernetes планировщика. Мы исследуем ключевые моменты этого процесса, начиная от того, назначает ли планировщик модули узлам один за другим в очереди или выполняет эту задачу параллельно, и заканчивая более сложными аспектами его работы. Погрузитесь в детали этой сложной, но увлекательной темы вместе с нами, чтобы лучше понять, как Kubernetes оптимизирует размещение подов в вашем кластере

Погружение в Мир Kubernetes Scheduler
Всего голосов 14: ↑13 и ↓1+17
Комментарии1

Как определить KPI для продукта

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

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

Key Performance Indicators (KPI) - это числовые метрики, которые используются для измерения и оценки эффективности и успеха продукта или бизнес-процесса. KPI являются непосредственными индикаторами того, насколько хорошо продукт выполняет свои цели и достигает поставленных задач.

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

Неправильно выбранные KPI могут привести к искаженной картине или к фокусировке на неважных метриках.

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

ClickHouse: Передовой инструмент для оперативной обработки данных

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

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

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

Читать далее
Всего голосов 21: ↑9 и ↓12-1
Комментарии5

Ловим сетью. 5 способов автоматизировать поиск информации при помощи нейросетей

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

Вы до сих пор ищете информацию по старинке или идете в ногу со временем, обращаясь за помощью к нейросетям? В современном информационном мире поиск и обработка огромных объемов данных становятся все важнее для многих компаний и организаций. Согласно опросу HubSpot 45% маркетологов уже используют нейросети для поиска информации.

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

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

Применение архитектурных шаблонов в машинном обучении: разбор Gradient Boosting

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

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

Архитектурные шаблоны в машинном обучении представляют собой общие структуры и методологии, которые позволяют разработчикам более эффективно решать задачи. Они представляют собой набор bewährte Lösungen, то есть "проверенных решений", которые могут быть адаптированы к конкретным задачам и данным. Использование архитектурных шаблонов позволяет сэкономить время и ресурсы при разработке моделей машинного обучения.

Gradient Boosting – это один из наиболее мощных и гибких архитектурных шаблонов в машинном обучении. Он позволяет строить ансамбли моделей, комбинируя слабые ученики в сильную модель, способную решать разнообразные задачи классификации и регрессии. Этот метод обрел популярность благодаря своей способности обучаться на ошибках предыдущих моделей, постепенно улучшая свои прогнозы.

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

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

Информация

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