Как стать автором
Обновить
0
@OlloOlloread⁠-⁠only

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

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

Топ 10 трюков для оптимизации SQL. Часть 1

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

В этой серии статей мы рассмотрим 10 трюков для оптимизации ваших SQL-запросов. Большинство трюков из этой статьи многие уже знают, но я всё равно решил о них упомянуть )

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

Настраиваем работу конвейера CI/CD (почти) без рук. Опыт использования Orchestra R в энтерпрайзе

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

Компании, что используют Jenkins в качестве CI/CD‑инструмента, обычно делают несколько экземпляров, если в разработке участвует множество команд или приходится работать с большим количеством проектов. При этом оркестрация Jenkins»ов в командах — не самая простая работа, а во многом ещё и рутинная. С одной стороны, сложно соблюдать все требования сборки и тестирования и вовремя находить согласующих. С другой, одним скриптом невозможно решить всю задачу от получения доступов до вывода релизов в эксплуатацию.

Есть правило, что если система становится слишком сложной, то люди чаще ищут способы обойти алгоритмы, а не следовать им. Чтобы не усложнять систему, а разложить всё по ролям и этапам, мы пришли к созданию собственного инструмента — Orchestra R. С его помощью мы хотели не только автоматизировать работу конвейера CI/CD, но и упростить жизнь всех DevOps‑инженеров. В этом материале поделимся особенностями работы инструмента и опытом эксплуатации в СберТехе.

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

Не играй в догонялки со Spring — Explyt Spring plugin для IDEA Community

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

Всем привет. После моей предыдущей статьи о Maven плагине, где я предложил новый подход к реализации и создал свою версию для IDEA (вместо того чтобы писать свой мини-мавен, я делегировал всю основную работу ему посредством Maven плагина), меня пригласили работать над Spring плагином в IT-стартап Explyt. Компания занимается автоматической генерацией тестов на базе AI и формальных методов. В процессе работы столкнулся с проблемами, похожими на те, которые решал в своем Maven плагине. У меня возникло некое дежавю, и я подумал: почему бы не использовать подобный подход, чтобы доработать и улучшить Dependency Injection Explyt Spring плагина? Текст для тех, кто работает со Spring-плагинами и хочет разобраться, как эффективно применять готовую логику Спринга для новых задач. Заходите под кат, подробно поделюсь своим кейсом, покажу код, расскажу про итерации и объясню логику.

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

Строим обучение так, чтобы дойти до конца: научный подход

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

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

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

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

Как жить без IntelliJ IDEA. Часть №2. Поддержка Spring

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

В первой статье из цикла «Как жить без IntelliJ IDEA» мы рассмотрели возможные альтернативы привычной многим IDE. 

Во второй статье из цикла команда Spring АйО выяснила, какие есть альтернативы Ultimate в части поддержки Spring и насколько хорошо они справляются со своей задачей.

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

Микросервисы: Почему именно gRPC?

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

Архитектура микросервисов широко распространена в современном программировании. Благодаря этой архитектуре разработчики смогут самостоятельно разрабатывать сервисы и управлять ими. Однако очень важно выбрать правильный протокол для эффективного взаимодействия между микросервисами. Здесь протокол gRPC (Google Remote Treatment Call) выделяется своей высокой эффективностью и скоростью. В этой статье мы предоставим подробную информацию о RPC и gRPC, рассмотрим преимущества gRPC в архитектурах микросервисов и продемонстрируем их различия на примерах кода на языке программирования Go.

Читать далее
Всего голосов 22: ↑3 и ↓19-12
Комментарии28

На самом деле, ООП — это не так уж плохо

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

ООП — определённо не самая моя любимая парадигма, но я считаю, что в мейнстримном ООП со статической типизацией кое-что сделано правильно, и это очень важно для программирования.

В этом посте я хочу рассказать, что же самое важное реализовано в мейнстримных ООП-языках со статической типизацией.

Затем я сравню ООП-код с Haskell, чтобы показать, что ООП не так плох во всём, как, похоже, считают поклонники функционального программирования.
Читать дальше →
Всего голосов 32: ↑25 и ↓7+33
Комментарии147

Как сделать простые метрики для оценки полосы пропускания сети?

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

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

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

SOLID на котиках

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


Каждый программист хоть раз слышал о принципах SOLID. На собеседованиях и экзаменах в вузах многие из нас пытались вспомнить, о чем же был тот самый принцип Лисков. Однако вряд ли цель преподавателей и интервьюеров — заставить нас заучивать строчки из учебников. SOLID действительно помогает писать качественный код, когда во всем разберешься! Если вы этого еще не сделали, добро пожаловать под кат. Еще раз взглянем на то, как устроены всем известные принципы. Обещаю — без духоты, все рассмотрим на примерах с котиками.
Читать дальше →
Всего голосов 109: ↑101 и ↓8+113
Комментарии82

14 лучших практик автоматизации тестирования

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

Автоматизированное тестирование стало неотъемлемой частью разработки современного программного обеспечения, позволяя командам оптимизировать свои усилия по тестированию и быстрее поставлять высококачественное программное обеспечение. 

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

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

Kafka как хранилище справочников

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

Хочу поделиться тем, как мы используем kafka для организации оперативного хранилища справочной информации.

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

Управление Данных с Elasticsearch: Обучение и Практика

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

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

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

Начать практику
Всего голосов 23: ↑20 и ↓3+19
Комментарии4

Регулярные выражения в SQL

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

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

Представьте, что вам нужно найти иголку в стоге сена, но стог — это ваша БД, а иголка — данные со сложным шаблоном. Деофлтные операторы LIKE и IN тут не помогут — слишком уж они прямолинейны. Но зато здесь отлично зайдут регулярные выражения, которые позволяют выполнять сложные поиски и преобразования строк.

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

Тесты для функций compose в андроид

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

Представьте себе мир, где каждый раз, когда вы вносите изменения в код вашего приложения, вы уверены, что ничего не сломалось. Где ошибки обнаруживаются еще до того, как пользователи успеют их заметить. Где ваш код не только работает, но и документируется автоматически, улучшая архитектуру проекта с каждым тестом. Звучит как мечта? На самом деле это реальность, если вы правильно используете тесты. В этой статье мы погрузимся в мир тестирования Android-приложений с использованием Jetpack Compose, рассмотрим различные виды тестов и научимся настраивать и писать инструментальные тесты для ваших Compose функций.

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

Locust: проводим нагрузочное тестирование

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

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

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

Регулярные выражения простыми словами. Часть 1

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

Разработчики делятся на два типа: тех, кто уже понимает регулярные выражения и порой решает сложные задачи одной строкой, и тех, кто все еще боится и всячески их избегает. Эта статья специально для вторых, чтобы им было проще стать первыми. Она либо поможет преодолеть «регекспофобию», либо усугубит ее. В любом случае, добро пожаловать под кат.
Читать дальше →
Всего голосов 160: ↑159 и ↓1+185
Комментарии54

Smoke vs Sanity тестирование: в чём разница?

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

Тестирование, как неотъемлемый процесс жизненного цикла разработки программного обеспечения, обеспечивает функциональность, совместимость и производительность разрабатываемых приложений. Среди различных видов тестирования особое место занимают smoke-тесты и sanity-тесты, которые проверяют надёжность и стабильность приложений.

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

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

Почти все, что вы хотели бы знать про Docker

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

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

Предполагается, что читатель что-то слышал про Docker и хотел бы начать знакомство с технологией. Мы постараемся упростить этот процесс.

Читать далее
Всего голосов 65: ↑60 и ↓5+65
Комментарии57

Гайд по архитектуре приложений для Android. Часть 1: обзор

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

Перевод обновлённого гайда Android по архитектуре приложений. Это — первая часть из пяти: обзор рекомендаций по архитектуре.

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

Как начать писать на Java в VSCode

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

Давайте признаемся: подавляющее большинство пишет Java код, используя JetBrains IntelliJ IDEA Ultimate. Да, это отличная IDE. Для нее есть большое количество расширений, среда очень тесно интегрируется с Spring Framework и знает его особенности.

Тогда зачем пробовать что‑то другое?

Привет, Хабр! Меня зовут Константин Шибков, я Java‑разработчик в CDEK.

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

Но если у вас есть трудности с доступом к Ultimate версии, а Community вариант не достаточно функционален — самое время попробовать современную альтернативу — Visual Studio Code.

В статье делюсь опытом подготовки среды разработки и изучения вопроса: «А можно ли перейти на VSCode?».

Перейти на VSCode
Всего голосов 65: ↑64 и ↓1+69
Комментарии60
1

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность