Search
Write a publication
Pull to refresh
0
@Redlumusread⁠-⁠only

User

Send message

Todo-лист на максималках: разбираем архитектуру крупного приложения

Level of difficultyHard
Reading time31 min
Views7.9K

В этой статье я покажу, как устроена многослойная архитектура крупного реактивного web-приложения, и особенности его запуска под Electron. Материал будет полезен, если вы планируете начать свою разработку, хотите попробовать себя в роли архитектора, вас не пугает Shared Workers, Service Workers или, в конце концов, вы хотите это попробовать или разобраться.

Читать далее

Spring Boot, AspectJ. Введение в аспектно-ориентированное программирование

Reading time12 min
Views5.3K

Привет, меня зовут Николай Пискунов, я руководитель направления Big Data и автор медиа вАЙТИ. Недавно мне в руки попался старый проект, написанный на Spring Boot. В нем я нашел пару десятков эндпоинтов, в которых метод обрамлен logger. Логирование в таком виде — это важный элемент как для ПО, так и для безопасности, но оно делает код объемнее, его становится сложнее читать. 

В идеальном случае методы можно сократить буквально до пары строк, но для этого нужно отделить бизнес-логику от остального кода. Сделать это можно с помощью аспектно-ориентированного программирования (AOP) — языка для определения именованного аспекта. О нем и пойдет речь в этой статье.

Читать далее

Сложное — просто: архитектуры ПО на жизненных примерах

Level of difficultyEasy
Reading time7 min
Views21K

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

Здесь я рассказываю про монолиты, микросервисы и микрофронтенды без сложных терминов и технических деталей, чтобы те, кто только начинает разбираться в теме, могли понять, что к чему. Надеюсь, вам будет полезно и интересно. Поехали! 🚀

Читать далее

Книга: «Рецепты чистого кода»

Reading time6 min
Views7.9K
image «Неуместная близость»? «Оргия объектов»? «Принцип KISS»? А мы точно о программировании?

Привет, Хаброжители! Если ваша первая и единственная реакция на эти словосочетания — смех, то вполне вероятно, что от вашего кода «пахнет». Запах кода (code smell) — термин, который был введен разработчиком Кентом Беком и популяризирован Мартином Фаулером. По сути, запах кода — это симптом, признак проблемы; он указывает на такой фрагмент кода, который можно (и нужно) улучшить.

Чем чище код, тем проще его читать, понимать и — что самое важное — поддерживать. И «Рецепты чистого кода» как раз про это! Четкая структура и краткость кода, а также осмысленные имена переменных, функций и классов, отражающие их суть, сокращают количество времени, которое тратится на поиск и устранение проблемы, — не говоря уже о том, что код, этими свойствами не обладающий, с трудом поддается масштабированию.
Читать дальше →

Как жить без IntelliJ IDEA? Часть №5. Заключение

Level of difficultyEasy
Reading time6 min
Views12K

Наступил конец года и вместе с ним завершается наш цикл статей. Команда Spring АйО рассмотрела некоторые последствия ухода Ultimate IDEA из РФ и как с этим теперь жить.

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

Читать далее

Всё про конфиги

Level of difficultyEasy
Reading time21 min
Views14K

Материалы лекции про конфигурационные файлы — все основные аспекты написания и использования конфигов для самых маленьких, примеры кода на python.

Узнать страшную правду

Аналоги Jira в России: подборка из 12 сервисов

Reading time14 min
Views18K

После выхода постановления о санкциях 12 сентября 2024 года, ведущие международные платформы для управления проектами и задачами, включая Jira, приостановили работу в России. Это оставило IT-команды и другие предприятия без привычных инструментов. 

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

Читать далее

Создаём CRUD REST API в Spring Boot быстро и просто вместе с Amplicode

Level of difficultyEasy
Reading time9 min
Views5.5K

Не так давно на нашем канале вышло видео, в котором Георгий Власов рассказывал, как с помощью Amplicode можно сгенерировать CRUD Rest Controller сразу со всеми необходимыми методами.  

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

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

Давайте посмотрим как эти фичи выглядят на практике!

Читать далее

Как я готовилась и сдавала ISTQB Certified Tester Advanced Level Test Analyst

Level of difficultyEasy
Reading time6 min
Views1.7K

Всем привет! Меня зовут Настя, я — влюблённый в профессию тестировщик.

30 ноября 2024 года сдавала сертификацию ISTQB® Certified Tester Advanced Level Test Analyst (CTAL‑AT) и в этой статье хочу поделиться своим опытом: почему решила сдавать, как и сколько готовилась и т. д.

Читать далее

Тестирование с нуля: советы, которые я дала бы себе на старте

Level of difficultyEasy
Reading time7 min
Views7.6K

Всем привет! Меня зовут Маша, я работаю QA-инженером в Doubletapp, и моя история в IT началась всего 1,5 года назад. Хочу поделиться своим опытом перехода в тестирование, рассказать о том, как я училась, с чего начинала, и что помогло мне сделать первый шаг. Надеюсь, этот рассказ вдохновит тех, кто только думает о профессии тестировщика.

Содержание

Обзор полезных курсов
Как найти работу
Семь вещей, которые я хотела бы знать на старте

Читать далее

Нагрузочное тестирование: простым языком

Level of difficultyEasy
Reading time7 min
Views3.2K

Привет, Хабр Я — Анисимов Сергей, главный тестировщик в Страховом Доме ВСК. Сегодня я хотел бы поговорить о нагрузочном тестировании — области, которая вызывает множество вопросов, особенно у начинающих тестировщиков. Цель этой статьи — дать базовое понимание, объяснить ключевые концепции и вызвать интерес к нагрузочному тестированию.

Эта статья будет полезна джуниор-тестировщикам, а также тем, кто планирует углубиться в тему и хочет понять, с чего начать.

Что такое нагрузочное тестирование?

Нагрузочное тестирование — это метод оценки системы под нагрузкой. Мы создаём условия, близкие к реальным или экстремальным, чтобы понять, как приложение справляется с запросами, пользователями и объемами данных. Основная цель — выявить слабые места (или так называемые «бутылочные горлышки»), чтобы улучшить производительность.

Бутылочные горлышки и архитектура системы

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

Читать далее

Введение в Gatling: какие есть альтернативы и в чем их минусы?

Level of difficultyEasy
Reading time6 min
Views3.7K

Привет, Хабр! Вы когда-нибудь задумывались, насколько ваш веб-сервис способен выдержать шквал запросов? Что произойдёт, если ваши пользователи, словно зомби, хлынут на сервер тысячами? Вот тут-то и начинается история про нагрузочное тестирование, которое помогает понять, где у вашего приложения «узкие места». А инструмент, о котором мы сегодня поговорим, — Gatling. Это мощная, элегантная и, честно говоря, недооценённая альтернатива монстрам вроде JMeter, LoadRunner и k6. Но давайте разбираться по порядку.

Читать далее

ISO C++ — встреча международного комитета в Польше

Reading time9 min
Views16K
В конце ноября состоялась встреча международного комитета по стандартизации языка программирования C++.



В этот раз без внимания не остались темы:
  • Рефлексия времени компиляции и оператор «монобровь»
  • Constexpr, много constexpr
  • SIMD
  • Structured bindings as a pack
  • Безопасность, контракты, libc++ hardening, профили, UB и std::launder
  • Сколько бит в байте?

Об этом и других новинках расскажу в посте

Хэши: виды, применение и примеры на Java

Reading time7 min
Views7.2K

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

Читать далее

Проектирование serverless функций

Level of difficultyMedium
Reading time6 min
Views4.1K

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

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

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

Читать далее

Junior of IntelliJ IDEA

Level of difficultyEasy
Reading time9 min
Views10K

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

Читать далее

Одинокий рейнджер, или как выстраивать тестирование, будучи единственным QA в команде

Level of difficultyMedium
Reading time5 min
Views5.8K

Привет, читатель!
Меня зовут Дмитрий Евсюков, я работаю в Купере старшим специалистом по тестированию. Когда я только пришёл в свою команду, то всё тестировал руками и не мог найти время на автоматизацию. Это приводило к тому, что я не успевал протестировать все задачи в полном объёме и многое откладывалось в техдолг. Сейчас я выработал более умный подход, который помогает мне своевременно разрабатывать автотесты и быстро поставлять функционал на прод без снижения качества.

Читать далее

Проверяем текст: кейс автоматизации с линтером Vale

Level of difficultyEasy
Reading time5 min
Views1.4K

Привет, на связи Марина и Катя (@lieutkat) — технические писатели Cloud.ru. За четыре года наша команда составила больше 30 правил по написанию технической документации и… прочувствовала на себе весь масштаб усилий на проверку и запоминание получившейся редакционной политики. 

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

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

Из практики. Как я пришла к тому, что все делаю на английском языке и теперь это легко

Level of difficultyEasy
Reading time2 min
Views54K

Из практики. Я сейчас все делаю на английском языке: работаю, веду все свои заметки, смотрю фильмы, учусь, гуглю, разговариваю с ChatGPT и все остальное. Даже дома мы часто разговариваем на английском в течении дня.

К этому я пришла не сразу и на мой взгляд, есть 2 основных барьера, чтобы начать использовать язык:

Читать далее

Чек-лист тестировщика в финансовой компании

Level of difficultyMedium
Reading time7 min
Views5.6K

Добрый день! Меня зовут Анастасия, я QA-инженер команды бэкофиса в «Финаме». С 2022 года занимаюсь тестированием бэкофисных и торговых систем финансовых компаний. До перехода в QA работала в эксплуатации и поддержке торгово-клиринговой системы СПБ Биржи.  Моя сильная сторона — глубокое понимание бизнесовой части тестируемого продукта.

За 5 лет работы в компаниях-участниках финансового рынка РФ я осознала: тестирование продуктов в финансовой компании не равно классическому тестированию. QA-инженер в сфере финансов отличается пониманием предметной области для обеспечения качества, особой усидчивостью, а также навыком работы с большим количеством данных.  

Читать далее

Information

Rating
Does not participate
Registered
Activity