Pull to refresh
0
0

Пользователь

Send message

Я проработал в IT больше 10 лет. Вот 5 вещей, которые я бы хотел знать, если бы начинал сейчас

Level of difficultyEasy
Reading time5 min
Views187K

Привет, дорогой Хабр. Душа просит выговориться, так что я пришел к тебе – заодно надеюсь поделиться чем-то полезным с молодыми айтишниками. За свою карьеру я прошел через фриланс, стажировки, корпорации, смену профессии и даже запуск собственного SaaS'а (об этом как-нибудь отдельно...). Я наделал кучу ошибок и набил болезненных шишек. Под катом я вспоминаю 5 важных уроков, которые я бы хотел получить 10 лет назад.

Под кат →
Total votes 161: ↑144 and ↓17+146
Comments236

Базы данных простыми словами

Level of difficultyEasy
Reading time4 min
Views6.6K

Привет, Хабр!
Это статья больше для начинающих или любознательных, тут я постарался простыми словами объяснить что же такое эта база данных и для чего они используются на проектах.

Читать далее
Total votes 22: ↑6 and ↓16-9
Comments7

Ландшафт Open Source Data Engineering в 2024 году: место России и мировые тенденции

Reading time13 min
Views3.5K

Недавно на Practical Data Engineering Substack вышла статья, посвященная общемировому развитию Open Source дата-инжиниринга, которая может оказаться полезной и для российских специалистов. Мы перевели статью, в полном виде она опубликована здесь (ссылка). А в этом посте мы предлагаем вам наше осмысление результатов этой статьи и State of Data Engineering вместе с собранными нами данными непосредственно по России. 

Предыстория

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

Многие известные отчеты, вроде MAD Landscape или State of Data Engineering, предлагают обширный обзор инструментов и сервисов в этой области. Однако основной фокус данного обзора – open-source инструменты, используемые для работы с данными на всех этапах жизненного цикла data-engineering.

Ниже представлены данные об экосистеме data engineering по состоянию на начало на 2024 года:

Читать далее
Total votes 6: ↑5 and ↓1+4
Comments2

Мегагайд: культура работы с Git

Level of difficultyEasy
Reading time16 min
Views31K

Привет всем! Меня зовут Юля, я фронтенд-разработчик, наставник на курсах по JS и React и организатор профессионального сообщества Tbilisi JS. В Практикуме я помогаю студентам на курсе «React-разработчик».

За время работы в разных компаниях и над разными проектами я поняла, что Git — это не только (и не столько!) знание самой технологии и конкретных команд, но и определённая культура взаимодействия, практики, подходы, договорённости. Всё это помогает участникам команды лучше понимать друг друга и работать быстрее и чётче.

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

Читать далее
Total votes 36: ↑31 and ↓5+31
Comments22

Linux, Git и базы данных: что почитать новичкам в Академии Selectel

Reading time4 min
Views8.5K

Источник.

Новичкам бывает сложно войти в администрирование. Комплексные курсы стоят дорого, а самостоятельный поиск информации заканчивается пополнением закладок, о которых вспоминают раз в год. В тексте собрали шесть бесплатных курсов по рекомендации от наших коллег. Их можно пройти сразу или постепенно — сохраним ваш прогресс, когда бы вы ни вернулись.
Читать дальше →
Total votes 42: ↑40 and ↓2+52
Comments5

Управление оффсетами в Kafka

Level of difficultyEasy
Reading time6 min
Views3.1K

Сегодня в статье разберем, как Kafka обрабатывает оффсеты сообщений и какие существуют стратегии их сохранения и обновления.

Оффсет в Kafka — это числовой идентификатор, который указывает позицию каждого сообщения внутри партиции топика. Оффсеты представляют собой порядковые номера, начинаемые с нуля, и уникальны в рамках каждой партиции, но не между разными партициями. Т.е сообщение с оффсетом 5 в партиции 1 и сообщение с оффсетом 5 в партиции 2 — это разные сообщения.

Читать далее
Total votes 9: ↑6 and ↓3+8
Comments0

Принципы SOLID, только понятно

Level of difficultyEasy
Reading time6 min
Views64K

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

Изучить принципы
Total votes 80: ↑66 and ↓14+59
Comments94

[Перевод] Почему стоит начать писать собственные Spark Native Functions?

Reading time5 min
Views951

Это мой вольный перевод статьи "Why You Should Start Writing Spark Custom Native Functions", которая вдохновила меня на некоторые собстенные изыскания по данной теме. Их результат я планирую опубликовать позже, а пока выношу на ваш суд этот перевод.

Статья на примере реализации функции по генератации UUID рассматривает, как писать Spark native функции, которые были бы "прозрачны" для Catalyst (в отличии от UDF, которые являются "черными ящиками" для него). Сравнение производительности ожидаемо показывает, что Catalyst Expressions значительно превосходят UDF при увеличении размера данных.

Кому интересно узнать, как писать Spark native функции - прошу под кат.

Читать далее
Total votes 6: ↑6 and ↓0+8
Comments20

Снежинка, Data Vault, Anchor Modeling. Какая методология проектирования DWH подойдет для вашего бизнеса?

Reading time6 min
Views8.6K

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

Сравниваем Снежинку, Data Vault и Anchor Modeling и предлагаем алгоритм выбора методологии построения DWH.

Читать далее
Total votes 4: ↑3 and ↓1+2
Comments8

Как подойти к внедрению DWH, чтобы не было «больно»? Какие методологии использовать и какой стек выбрать?

Reading time9 min
Views5.5K

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

Читать далее
Total votes 10: ↑8 and ↓2+8
Comments0

Что нужно для внедрения Apache Superset

Level of difficultyMedium
Reading time5 min
Views5.5K

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

Читать далее
Total votes 4: ↑3 and ↓1+4
Comments12

Книга «Объектно-ориентированный Python, 4-е изд.»

Reading time19 min
Views9.4K
image Привет, Хаброжители!

Глубоко погрузитесь в различные аспекты объектно-ориентированного программирования на Python, паттерны проектирования, приемы манипулирования данными и вопросы тестирования сложных объектно-ориентированных систем. Обсуждение всех понятий подкрепляется примерами, написанными специально для этого издания, и практическими упражнениями в конце каждой главы. Код всех примеров совместим с синтаксисом Python 3.9+ и дополнен аннотациями типов для упрощения изучения.

Стивен и Дасти предлагают вашему вниманию понятный и всесторонний обзор важных концепций ООП, таких как наследование, композиция и полиморфизм, и объясняют их работу на примерах классов и структур данных Python, что заметно облегчает проектирование. В тексте широко используются UML-диаграммы классов, чтобы было проще понять взаимоотношения между классами. Помимо ООП, в книге подробно рассматривается обработка исключений в Python, а также приемы функционального программирования, пересекающиеся с приемами ООП. В издании представлены не одна, а две очень мощные системы автоматического тестирования: unittest и pytest, а в последней главе детально обсуждается экосистема параллельного программирования в Python.

Получите полное представление о том, как применять принципы объектно-ориентированного программирования с использованием синтаксиса Python, и научитесь создавать надежные и устойчивые программы.
Читать дальше →
Total votes 8: ↑7 and ↓1+10
Comments3

Что такое СУБД Greenplum? Зачем она нужна в больших проектах DWH? Чем отличается от ClickHouse?

Reading time9 min
Views14K

Ошибки в построении DWH возникают не только в результате того, что первоначально не были учтены возможные изменения в бизнес-процессах, потребностях и целях компании, но и из-за некорректного выбора стека технологий и СУБД. 

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

В статье читайте о СУБД Greenplum и о том, в каких случаях строить хранилища на ее основе.

Читать далее
Total votes 6: ↑6 and ↓0+6
Comments5

Helm Charts

Level of difficultyEasy
Reading time7 min
Views17K

Добрый день!

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

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

Так же Helm упрощает управление зависимостями между приложениями, позволяет легко параметризировать настройки приложений через файлы values.yaml и дает возможность повторного использования чартов с помощью шаблонизации.

К тому же можно с легкостью откатиться к предыдущей версии нашего приложения.

Читать далее
Total votes 13: ↑9 and ↓4+7
Comments6

Как проводят оценку качества данных в Airbnb

Level of difficultyEasy
Reading time9 min
Views2.5K


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

Рост показателей Airbnb до 1,4 миллиарда гостей на конец 2022 года привел нас в точку, когда снижение качества данных стало мешать нашим специалистам по работе с этими самыми данными. Еженедельные отчеты по метрикам стало сложно предоставлять вовремя, такие базовые показатели как «Активные объявления» стали иметь целую паутину зависимостей. Для полноценной работы с данными стали требоваться значительные институциональные знания, просто чтобы преодолеть все «подводные камни» в нашем информационном потоке.

Чтобы решить эту проблему, мы внедрили процесс под кодовым названием «Мидас» (Midas), который предназначался для сертификации наших данных. Начиная с 2020 года, процесс Midas, а также работа по реорганизации наших наиболее важных моделей позволили значительно повысить качество и оперативность получения важнейших данных Airbnb. Однако достижение всех критериев качества данных требует значительных межфункциональных инвестиций в такие вещи как проектирование, разработка, проверка и поддержка необходимых информационных ассетов и документации.
Читать дальше →
Total votes 27: ↑25 and ↓2+28
Comments3

Как работать со словарями данных и оптимизировать запросы в ClickHouse

Reading time11 min
Views6.6K

Приветствуем! На связи вновь Глеб Кононенко и Алексей Диков — разработчики из Лиги Цифровой Экономики. Ранее мы уже немного рассказывали про наш опыт работы с распределенными таблицами в ClickHouse в этой статье.

Сегодня хотим поделиться опытом оптимизации запросов и работы со словарями данных. Используемая версия ClickHouse: 23.8.7.24

Читать далее
Total votes 6: ↑4 and ↓2+5
Comments3

Разработка алгоритмов обработки данных в реальном времени на Python

Level of difficultyEasy
Reading time14 min
Views8K


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

Разработчикам все чаще приходится создавать эффективные алгоритмы обработки и анализа данных по мере их поступления и без задержек. В этой статье мы рассмотрим ключевые аспекты разработки на Python начиная с выбора инструментов и заканчивая оптимизацией производительности и обеспечением безопасности системы. Погрузимся глубже в тему, предоставив вам множество примеров кода и практических рекомендаций для успешной разработки.
Читать дальше →
Total votes 9: ↑8 and ↓1+11
Comments0

Руководство для начинающих по Spark UI: Как отслеживать и анализировать задания Spark

Level of difficultyEasy
Reading time13 min
Views5.6K

Публикуем перевод гайда по Spark UI. Это встроенный инструмент Apache Spark, который предоставляет полный обзор среды Spark: узлов, исполнителей, свойств и параметров среды, выполняемых заданий, планов запросов и многого другого. Кроме теории в статье вы найдёте несколько примеров, которые помогут попрактиковаться в отслеживании и анализе заданий Spark.

Читать далее
Total votes 6: ↑5 and ↓1+4
Comments2

Jira worklog без плагинов

Level of difficultyEasy
Reading time4 min
Views2.4K

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

Читать далее
Total votes 2: ↑2 and ↓0+2
Comments0

Information

Rating
4,644-th
Registered
Activity